迭代器类型能够进行的操作备注输入迭代器1. 比较两个迭代器是否相等(==、!=)。
2. 前置和后置递增运算(++)(意味着它是单向移动的)。
3. 读取元素的解引用运算符(*)。只能 读元素,也就是解引用只能出现 在赋值运算符的右边。
4. 箭头运算符(->),解引用迭代器,并提取对象的成员。
5. 只能用于单遍扫描算法。无。输出迭代器
1. 比较两个迭代器是否相等(==、!=)。
2. 前置和后置递增运算(++)(意味着它是单向移动的)。
3. 读取元素的解引用运算符(*)。只能 写元素,也就是解引用只能出现 在赋值运算符的左边。
4. 箭头运算符(->),解引用迭代器,并提取对象的成员。
5. 只能用于单遍扫描算法。与输入迭代器的操作相似,只不过输入变成了输出。前向迭代器
与输入迭代器的操作相似,只不过输入变成了输出。
1. 比较两个迭代器是否相等(==、!=)。
2. 前置和后置递增运算(++)(意味着它是 单向移动的)。
3. 读取元素的解引用运算符(*)。 可写也可读。
4. 箭头运算符(->),解引用迭代器,并提取对象的成员。
5. 能用于多遍扫描算法。输入迭代器与输出迭代器操作的结合。双向迭代器
1. 比较两个迭代器是否相等(==、!=)。
2. 前置和后置递增运算(++)。
3. 前置和后置递减运算(–)(意味着它是 双向移动的)。
3. 读取元素的解引用运算符(*)。 可写也可读。
4. 箭头运算符(->),解引用迭代器,并提取对象的成员。
5. 能用于多遍扫描算法。支持所有前向迭代器操作的基础上,支持递减运算符,也就是 支持双向移动。随机访问迭代器
1. 比较两个迭代器是否相等(==、!=),以及比较两个迭代器相对位置的关系运算符(<、<=、>和>=)。
2. 前置和后置递增运算(++)。
3. 支持和一个整数值的加减运算(+、+=、-、-=)。
4. 两个迭代器上的减法运算符(-),得到两个迭代器的距离。
5. 前置和后置递减运算(–)(意味着它是 双向移动的)。
6. 读取元素的解引用运算符(*)。 可写也可读。
7. 箭头运算符(->),解引用迭代器,并提取对象的成员。
8. 支持下标运算符(iter[n]),与*(iter[n])等价,访问距离起始迭代器n个距离的迭代器指向的元素。
9. 能用于多遍扫描算法。在支持双向移动的基础上,支持前后位置的比较、随机存取、直接移动n个距离。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/10780.html