@songying
2018-12-17T20:12:10.000000Z
字数 771
阅读 1010
未分类
迭代器类型 | 说明 | 供应者 |
---|---|---|
Input 迭代器 | ||
Output 迭代器 | ||
Forward 迭代器 | ||
Bi-directional 迭代器 | ||
Random access 迭代器 |
Input 迭代器一次向前读取一个元素,按此顺序一个个返回元素值。
注意:Input迭代器只能读取元素一次,如果你复制Input迭代器,并使原Input迭代器和新产生的副本都向前读取,二者可能遍历到不同的值
优先选择++iter
操作 | 效果 |
---|---|
*iter |
读取实际元素 |
iter->member |
读取实际元素的成员(若有的话) |
++iter |
向前前进,返回新位置 |
iter++ |
向前前进,返回旧位置 |
iter1 == iter2 |
判断两个迭代器是否相等,即两个Input 迭代器占用同一位置 |
iter1 != iter2 |
判断两个迭代器是否不相等 |
TYPE(iter) |
复制迭代器 |
Output 迭代器将元素值一个个写入,且不要用Output 迭代器对同一序列进行两次遍历。
操作 | 效果 |
---|---|
*iter = value |
将数值写到迭代器所指位置 |
++iter |
向前前进,返回新位置 |
iter++ |
向前前进,返回旧位置 |
TYPE(iter) |
复制迭代器 |
Forward 迭代器是Input迭代器与Output迭代器的结合,具有Input迭代器全部功能与Output迭代器大部分功能。
操作 | 说明 |
---|---|
*iter |
存取实际元素 |
iter->member |
存取实际元素的成员 |
++iter |
向前前进,返回新位置 |
iter++ |
向前前进,返回旧位置 |
iter1 == iter2 |
判断两个迭代器是否相等,即两个Input 迭代器占用同一位置 |
iter1 != iter2 |
判断两个迭代器是否不相等 |
TYPE() |
产生迭代器 |
TYPE(iter) |
复制迭代器 |
iter1 = iter2 |
赋值 |