【发布时间】:2010-10-23 21:00:09
【问题描述】:
我想做这样的事情:
std::vector<int>::iterator it;
// /cut/ search for something in vector and point iterator at it.
if(!it) //check whether found
do_something();
但是没有运算符!对于迭代器。如何检查迭代器是否指向任何东西?
【问题讨论】:
-
在不引用它正在迭代的容器的情况下使用迭代器是没有意义的。请参阅詹姆斯霍普金的回答。
-
澄清STL迭代器的黑暗失效:angelikalanger.com/Conferences/Slides/…
-
投票重新打开,因为:1)目标问题较新,因此应该是另一个与此问题重复的问题。 2)问题不是接缝:这询问迭代器是否不是结束迭代器,而另一个询问无效的迭代器。