总:五种不同类型的迭代器,不同的功能,各自重载了相应功能的操作。
1、输入迭代器(Input Iterator):此迭代器不允许修改所指的对象,即是只读的。
2、输出迭代器(Output Iterator):迭代器所形成的区间上进行只写操作。
3、前向迭代器(Forward Iterator):在一个正确的区间中进行读写操作
4、双向迭代器(Bidirectional Iterator):在Forward Iterator的基础上提供了单步向后迭代元素的能力。例如:list, set, multiset, map, multimap。
5、随机迭代器(Random Access Iterator):能完成上面所有迭代器的工作,它自己独有的特性就是可以像指针那样进行算术计算,而不是仅仅只有单步向前或向后迭代。例如:vector, deque, string, array。