gpt4 book ai didi

c++ - std::vector 的这种读取是如何工作的?

转载 作者:行者123 更新时间:2023-12-02 09:53:57 25 4
gpt4 key购买 nike

我已经看到了这段代码,它应该以一种对我来说非常奇怪的方法读取 vector 。

我想知道是什么意思:

for(auto &it: a) cin >> it;

我已经知道这个 for 循环遍历整个 vector ,但部分:
auto &it


cin >> it;

让我困惑;因为,我习惯于使用 push_back() 读取 vector 元素.

整个代码块:
int n;
cin >> n;
vector<int> a(n);
for (auto &it : a) cin >> it;

最佳答案

你可能会被某人的糟糕命名所绊倒。 itfor(auto& it:a)不是迭代器,而是 vector 的一个元素。

一次一行地浏览程序

int n;

声明了一个新的 int 来存储 vector 的大小。

cin >> n

从用户处获取 vector 的大小。

vector<int> a(n);

声明一个大小为 n 的整数 vector .这条线使所有的整数。

for (auto& elm : a)

对于我们刚刚创建的每个整数,循环遍历它们,命名每个 elm而在循环体内。

cin >> elm;

从用户那里读入一个值,并将其值赋给 vector 中的当前元素。这里没有创建 int,因为它们已经存在,我们只是分配给它们。

关于c++ - std::vector 的这种读取是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61896938/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com