gpt4 book ai didi

c++ - C++ 中的迭代器

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

vector<int> v(1, 1);
it = v.begin();

为什么*it++没有在第一个元素上加一?

虽然我可以使用*it = *it + 1

我已经很多年没用过C++

最佳答案

++ 的优先级高于 *。

因此,第一个迭代器指向下一个元素,然后使用 * 取消引用,您可以在左侧收集 v[1]。

使用如下代码解决问题。

#include<iostream>

using namespace std;

int main()
{
vector<int> v(2, 1);
vector<int>::iterator it;
it = v.begin();
(*it)++; //instead of *it++;

cout << v[0] << v[1] << endl;
}

关于c++ - C++ 中的迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12633653/

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