【介绍】C++五种迭代器

目录

1. 输入迭代器(Input Iterator):

2. 输出迭代器(Output Iterator):

3. 前向迭代器(Forward Iterator):

4. 双向迭代器(Bidirectional Iterator):

5. 随机访问迭代器(Random Access Iterator):


1. 输入迭代器(Input Iterator):

支持单次读取和前进;即只能遍历一遍集合,并且只能向前跳转。

- 递增操作(Increment):++iter

- 解引用操作(Dereference):*iter

- 比较操作(Equality Comparable):iter1 == iter2、iter1 != iter2

- const支持:同时支持const和non-const迭代器,因为输入流不应该改变容器元素。

2. 输出迭代器(Output Iterator):


支持单次写入和前进;即只能遍历一遍集合,并且只能向前跳转。

- 递增操作(Increment):++iter

- 解引用操作(Dereference):*iter

- 引用操作(Reference):iter = val

- const支持:不支持const迭代器,因为输出流总是允许修改。

3. 前向迭代器(Forward Iterator):


支持读取和写入,多次迭代,和向前跳转。

- 递增操作(Increment):++iter

- 解引用操作(Dereference and Reference):*iter、iter->member

- 比较操作(Equality Comparable):iter1 == iter2、iter1 != iter2

- const支持:同时支持const和non-const迭代器。

4. 双向迭代器(Bidirectional Iterator):


支持前向迭代器的所有操作,并支持向后跳转。

- 递减操作(Decrement):--iter

- const支持:同时支持const和non-const迭代器。

5. 随机访问迭代器(Random Access Iterator):

支持双向迭代器的所有操作,并支持随机跳转和算术运算。

- 递增操作(Increment):++iter

- 递减操作(Decrement):--iter

- 加法和减法操作(Arithmetic):iter + n、iter - n、iter1 - iter2

- 解引用操作(Dereference and Reference):*iter、iter->member、iter[n]

- 比较操作(Comparison):iter1 < iter2、iter1 > iter2、iter1 <= iter2、iter1 >= iter2

- const支持:同时支持const和non-const迭代器。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容