gpt4 book ai didi

c++ - 检查反向迭代器是否与正向迭代器交叉

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

我有一个vector<int>::iteratorvector<int>::reverse_iterator,如下所示:

vector<int>::iterator start = array.begin();
vector<int>::reverse_iterator end = array.rend();
while (true)
{
if (*start == *end && start <= end)
{
start++;
end++;
}
}

在while循环中,我必须检查start和end的值是否相等以及start是否没有越过end。这样做在 start <= end给我错误。有人可以指导我采取正确的方法吗?

错误:

start <= end . Binary operator '<=' cant be applied to the expressions of type vector::iterator and reverse_iterator .

最佳答案

Vokay,我已经解决了,这是我的方法:

    vector<int>::iterator start = array.begin();
vector<int>::reverse_iterator end = array.rbegin();
while (true)
{
if (*start == *end && start <= end.base())
{
start++;
end++;
}
else
break;
}

我用rbegin代替了rend,因为那是问题所在

关于c++ - 检查反向迭代器是否与正向迭代器交叉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46648555/

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