【发布时间】:2020-05-19 17:14:24
【问题描述】:
我看到了这段代码,它应该以一种对我来说非常奇怪的方法读取向量。
我想知道是什么意思:
for(auto &it: a) cin >> it;
我已经知道这个 for 循环遍历整个向量,但部分:
auto &it
和
cin >> it;
让我困惑;因为,我习惯于使用push_back() 读取矢量元素。
整个代码块:
int n;
cin >> n;
vector<int> a(n);
for (auto &it : a) cin >> it;
【问题讨论】:
-
it这个名字有误导性,因为它不是一个迭代器。 -
您缺少的东西是,有问题的 for 循环正在对已经确定大小的向量进行操作,并为向量中已经存在的每个元素读取一个输入。