✏️

Iterator

Tags

Concept

检查容器内元素并遍历元素的数据类型
 

General Functions

  • 比较运算符 ( !=, == )
  • 移位运算符 ( ++, -- )
  • 读取元素值的解引用运算符 (*)
  • 箭头运算符 (->)
    • 解引用迭代器并提取对象成员

Category

  • Input Iterator
    • 只读,支持++和比较
    • 单遍扫描算法
  • Output Iterator
    • 只写,支持++
    • 单遍扫描算法
  • Forward Iterator
    • 读写,支持++和比较
    • 多遍扫描算法
  • Bidirectional Iterator
    • 读写,支持++, --和比较
    • 多遍扫描算法
  • Random-access Iterator
    • 读写,支持++, --和比较
    • 支持 < 和 > 的比较
    • 支持 +=, -= 和 下标运算符(it[n])
    • 多遍扫描算法
 

辅助函数

包含在<algorithm>头文件中
  • advance(it, n)
    • it向后移动n个单位,若为负则变成向前
  • distance(it1, it2)
    • 计算it1和it2的距离(即在内存中的线性距离,一个迭代器所占的内存为单位1)
    • 即it1 经过多少次 ++ 可以到达it2
    • 若it1 > it2则死循环
  • iter_swap(it1, it2)
    • 交换两个迭代器指向的值