这个读取std::vector的方法是怎么用的?

我见过这段代码,它应该是用一种非常奇怪的方法来读取一个向量。

我想知道这是什么意思。

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;

解决方案:

你可能被某人糟糕的命名方式绊住了。 这个 itfor(auto& it:a) 不是迭代器,而是向量的一个元素。


一行一行地走完程序

int n;

声明一个新的int来存储向量的大小。

cin >> n

从用户那里获取向量的大小。

vector<int> a(n);

宣告一个int的向量,其大小为1。n. 这一行可以制作所有的ints。

for (auto& elm : a)

对于我们刚刚制作的每一个ints,循环它们,将每一个ints命名为 elm 而在循环体内部。

cin >> elm;

从用户那里读入一个值,并把它的值赋给向量中的当前元素。这里没有做int,因为它们已经存在了,我们只是对它们进行赋值。

给TA打赏
共{{data.count}}人
人已打赏
未分类

为什么我的计数器总是等于零,即使在正确的单选按钮被按下后?

2022-10-27 13:12:28

未分类

使用pymongo与使用pandas进行聚合组。

2022-10-27 13:12:30

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索