【介绍】C++五种迭代器
目录
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迭代器。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署