gpt4 book ai didi

C++ vector::迭代器运算符 +

转载 作者:行者123 更新时间:2023-11-27 23:33:53 25 4
gpt4 key购买 nike

我持有一个指向 vector 元素的迭代器,我想将它与 vector 的下一个元素进行比较。

这是我的

Class Point{
public:
float x,y;
}

//Somewhere in my code I do this

vector<Point> points = line.getPoints();

foo (points.begin(),points.end());

foo 在哪里:

void foo (Vector<Point>::iterator begin,Vector<Point>::iterator end)
{
std::Vector<Point>::iterator current = begin;

for(;current!=end-1;++current)
{
std::Vector<Point>::iterator next = current + 1;

//Compare between current and next.
}
}

我认为这可行,但 current + 1 没有给我 vector 的下一个元素。

我虽然 operator+ 是可行的方法,但似乎并非如此。有解决方法吗?

谢谢

最佳答案

current + 1 对随机访问迭代器(包括 vector 迭代器)有效,它是 current 之后的迭代器(即你认为的)。检查(或发布!)您的比较代码,您可能在那里做错了什么。

关于C++ vector<T>::迭代器运算符 +,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2627192/

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