问问题
5361 次
2 回答
6
list
迭代器不是随机访问,因此您无法+
使用它们。它们是双向迭代器,因此您可以执行的唯一移动操作是--
和++
。您可以复制并++
在其上使用,也可以复制并使用std::advance(it, 1)
.
对于 C++11,它还std::next
为您提供了it + 1
,而您不必像其他人那样显式地制作命名副本。
于 2013-11-13T06:02:27.720 回答
5
list
有双向迭代器,不支持operator +
. 您可以在 C++11中使用std::advance
或。std::next
for (list<Term>::iterator j = next(itr); j != final.end(); ++j)
或者
list<Term>::iterator j = itr;
advance(j, 1); // or ++j
for (; j != final.end(); ++j)
于 2013-11-13T06:02:45.443 回答