STL学习笔记(迭代器类型)

迭代器类型

迭代器是一种“能够遍历某个序列内的所有元素”的对象。它可以透过与一般指针一致的接口来完成自己的工作。

不同的迭代器具有不同的”能力“(行进和存取能力)

 

Input迭代器

Input迭代器只能一次一个向前读取元素,按此顺序一个个传回元素值。

几乎所有迭代器都具备Input迭代器的能力,而且通常更强。纯粹Input迭代器的一个典型例子就是“从标准输入装置读取数据”的迭代器。

下表列出了Input迭代器的各种操作行为

 

Output迭代器

Output迭代器和Input迭代器相反,其作用是将元素值一个个写入。

下表列出Output迭代器的各种操作行为

 

Forward(前向)迭代器

Forward迭代器是Input迭代器和Output迭代器的结合,具有Input迭代器的全部功能和Output迭代器的大部分功能,下表总结了Forward迭代器的所有操作

 

Bidirectional(双向)迭代器

Bidirectional迭代器在Forward迭代器的基础上增加了回头遍历的能力。换言之,它支持递减操作符,用以进行一步一步的后退操作

 

Random Access(随机存取)迭代器

Random Access迭代器在Bidirectional迭代器基础之上再增加随机存取能力。因此它必须提供“迭代器算术运算”(加减某个偏移量、能处理距离问题)。

下面列出Random Access迭代器的新增操作

posted @ 2015-09-21 09:37  Runnyu  阅读(1694)  评论(0编辑  收藏  举报