【发布时间】:2013-02-07 00:31:03
【问题描述】:
我认为迭代器对象的想法是您可以将它类似地应用于 C++ 容器类。但是,当我尝试遍历列表对象时,我尝试使用
for(list<int>::iterator it = obj.begin(); it < obj.end(); it++){
// some code
}
我得到了一个错误。为什么这不起作用?为什么它适用于vector::iterator?仅仅是因为list的实现是双向链表吗?我认为迭代器对象抽象了在容器中移动的概念,从而使其在操作上是相同的,无论是对于向量还是列表。
非常感谢您的澄清。
【问题讨论】:
-
it here) 并使用非成员开始和结束如果你使用 c++11 ......也许你不希望每次都调用 end 函数......
-
什么错误?编译器会告诉你什么吗?
标签: c++ stl iterator containers