1.Input Iterator
用于读取序列中的元素,支持以下操作
- 比较两个迭代器的相等和不相等运算符(
==
和!=
) - 用于推进迭代器的后置和前置递增运算(
++
) - 用于读取元素的接应用运算符(*),解引用只会出现在赋值运算符右侧(
即不可修改,只可读
) - 箭头运算符(
->
) - 只能单边扫描
2.Output Iterator
只写不读的,支持以下操作
++
- 解引用(
*
),只会出现在赋值运算符的左侧,向其赋值则为写入元素值 - 只能单边扫描
3.forward iterator
- 可读写
- 多遍扫描
- 只能递增
4.bidirectional iterator
- 可读写
- 多遍扫描
- 可递增,可递减
5.random-access iterator
- 可读写
- 多遍扫描
- 支持全部迭代器运算