for(std::vector<TMenuItem*>::iterator itItem=miMoreStylesArray.begin(); itItem<miMoreStylesArray.end(); itItem++) {
如果 std::itrator 被淘汰了,那么我应该用什么来迭代向量呢?
std::iterator
与标准库容器的迭代器无关,例如std::vector
。
虽然std::iterator
确实被弃用了,但std::vector<TMenuItem*>::iterator
肯定不是。
仅当您将std::iterator
用作基类来实现您自己的自定义迭代器类时,弃用它才与您相关。
使用std::iterator
是为了帮助您实现迭代器特征。 但是,您可以自己轻松地实现迭代器及其内部特征,而无需std::iterator
,请参阅:为std::迭代器被弃用的准备。
标准容器内的迭代器保持不变。请注意,它们是在各自的容器内声明的(例如vector<T>::iterator
),而不是直接在性病内。