gpt4 book ai didi

c++ - 我可以通过添加一个数字来增加一个迭代器吗?

转载 作者:IT老高 更新时间:2023-10-28 14:02:15 28 4
gpt4 key购买 nike

我可以使用迭代器进行正常计算,即通过添加一个数字来增加它吗?

例如,如果我想删除元素 vec[3],我可以这样做吗:

std::vector<int> vec;
for(int i = 0; i < 5; ++i){
vec.push_back(i);
}
vec.erase(vec.begin() + 3); // removes vec[3] element

它适用于我 (g++),但我不确定它是否保证有效。

最佳答案

如果迭代器是随机访问迭代器,它可以工作, vector 的迭代器是(见 reference)。 STL函数std::advance可用于推进通用迭代器,但由于它不返回迭代器,我倾向于使用 + (如果可用),因为它看起来更简洁。

C++11 笔记

现在有 std::nextstd::prev ,它确实返回迭代器,所以如果你在模板领域工作,你可以使用它们来推进一个通用迭代器并且仍然有干净的代码。

关于c++ - 我可以通过添加一个数字来增加一个迭代器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1033089/

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