c++ STL标准容器之Iterator使用C++ STL绝大多数标准容器都提供了Iterator,一些容器,比如priority_queue,因
c++ STL标准容器之Iterator使用
C++ STL绝大多数标准容器都提供了Iterator,一些容器,比如priority_queue,因为语意上就不应该允许随便遍历容器中的元素,所以也就没有Iterator了。
?
23种经典设计模式中就有迭代器模式,java集合框架也实现了这个模式:
?
?
2.c++除了iterator之外,还提供了const_iterator,后者只能读取集合中的数据,但是不能改变其值.
?
3.java的迭代器貌似只能单步自增,而c++的迭代器 除此之外,还可以实现算数操作,比如+n,-n,这样对于需要随机读取某个元素的场景就就很有用了,但是,貌似只有 vector的iterator才支持算数操作。也就是说前面例子中的迭代器it是不能进行 it = it+n之类的操作的。这一点要切记。
?
?
关于c++ iterator比较完整阐述的一篇博文:
http://wenku.baidu.com/view/1b325dc7aa00b52acfc7cafb.html
