输入迭代器:可以读取序列中的元素。
一个输入迭代器必须支持:
1、用于比较两个迭代器的相等和不相等运算符(==、!=)
2、用于推进迭代器的前置和后置递增运算符(++)
3、用于读取元素的解引用运算符(*);解引用只会出现在赋值运算符的右侧
4、箭头运算符(->),解引用迭代器,并提取对象的成员
输出迭代器:可以看作输入迭代器功能上的补集——只写而不读元素。
输出迭代器必须支持:
1、用于推进迭代器的前置和后置递增运算符(++)
2、用于读取元素的解引用运算符(*);解引用只会出现在赋值运算符的左侧
前向迭代器:可以读写元素。
双向迭代器:可以正向/反向读写序列中的元素。
随机访问迭代器:提供在常量时间内访问序列中任意元素的能力。