gpt4 book ai didi

c++ - 使用 vector 代码片段进行练习,包括 for 循环

转载 作者:行者123 更新时间:2023-11-30 02:05:36 26 4
gpt4 key购买 nike

首先,这不是家庭作业。我正在使用我为自己购买的一本书在家里学习 C++ 的入门知识,其中包含一个我坚持使用的练习。它询问我以下代码有什么问题,但我不确定我是否以正确的方式查看它。

这些是练习和代码:

Assuming that scores is a vector that holds elements of type int, what's wrong with the following code snippet (meant to increment each element)?

vector<int>::iterator iter;
for (iter = scores.begin(); iter != scores.end(); ++iter)
{
iter++;
}

我的猜测是 'iter++' 被注入(inject)到 for 函数和 for block 中,这意味着它会被注入(inject)两次,因此会超出循环结束。这是正确的吗?

最佳答案

你是对的。这段代码的问题是迭代器在循环内递增,也在循环体执行后递增。

代码应该做的是增加存储在循环内迭代器位置的值,因此我们需要取消引用它。

(*iter)++

关于c++ - 使用 vector 代码片段进行练习,包括 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9501053/

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