7.1 头文件
每个容器都定义它们自己的iterator类型,因此通常你不需要特殊的头文件来使用iterator。但是有几种特殊的iterator,例如reverse iteratos,它们被定义在<iteraor>头文件中。同样,你也不需要自己包含此头文件,它们已经被容器包含以定义它们自己的特定iterator
7.2 Iterator Categories
| 操作 | Input iterator | Output iterator | Forward Iterator | Bidirectional iterator | Random access iterator |
| *iter | √ | √ | √ | √ | |
| iter->member | √ | √ | √ | √ | |
| *iter = value | √ | √ | √ | √ | |
| iter1 = iter2 | √ | √ | √ | ||
| ++iter | √ | √ | √ | √ | √ |
| iter++ | √ | √ | √ | √ | √ |
| --iter | √ | √ | |||
| iter-- | √ | √ | |||
| iter1==iter2 | √ | √ | √ | √ | |
| iter1!=iter2 | √ | √ | √ | √ | |
| iter[n] | √ | ||||
| iter += n | √ | ||||
| iter -= n | √ | ||||
| iter + n | √ | ||||
| n + iter | √ | ||||
| iter - n | √ | ||||
| iter1 - iter2 | √ | ||||
| iter1 < iter2 | √ | ||||
| iter1 > iter2 | √ | ||||
| iter1 <= iter2 | √ | ||||
| iter1 >= iter2 | √ | ||||
| TYPE(iter) | √ | √ | √ | √ | √ |