C++ 我可以使用'<';而不是'=';在容器上迭代时?
我可以使用C++ 我可以使用'<';而不是'=';在容器上迭代时?,c++,stl,C++,Stl,我可以使用吗?这很有效,但仅适用于随机访问迭代器(或定义运算符的任何其他迭代器不,你不能使用它,只需使用iter!=vec.end()简短的回答是:不。你的问题是关于“容器”,而不是特定类型的容器,因此对于一般容器,答案肯定是“不”。你为什么要这样做?使用iter!=vec.end()当然可以!它在大多数情况下都不起作用。说真的,它会起作用(在某些实现上)对于vector和string,以及其他标准容器,它只适用于它们,因为它们需要以传染性方式存储元素。请改用iter!=vet.end()。 v
吗?这很有效,但仅适用于随机访问迭代器(或定义运算符的任何其他迭代器不,你不能使用它,只需使用iter!=vec.end()简短的回答是:不。你的问题是关于“容器”,而不是特定类型的容器,因此对于一般容器,答案肯定是“不”。你为什么要这样做?使用iter!=vec.end()当然可以!它在大多数情况下都不起作用。说真的,它会起作用(在某些实现上)对于vector
和string
,以及其他标准容器,它只适用于它们,因为它们需要以传染性方式存储元素。请改用iter!=vet.end()
。
vector<int>::const_iterator iter;
for (iter = vec.begin(); iter < vec.end; ++iter)
do_something