如果需要自己写iterator,根据侯杰的《泛型编程与STL》中的例子可以来写。
最近看了这本书,对concept,model,refinement等有所了解,自己总结了编写iterator的方法,比如写input_iterator
1.首先了解Input Iterator concept一些条件,比如相关类型,合法表达式
2.写模版类定义相关类型,有两种
a,继承自interator模板类
b,自己写五个nested type
3.定义存储泛型指针的成员变量 , 比如:Pointer ptr;
4.实现相应合法表达式,比如:
operator++ ()
operator++(int)
operator *()
operator->()
operator ==()
operator!=()
5.实现constant iterator和mutable iterator。