说明
本文仅是通过c++的一部分概念来理解迭代器的一个工作原理,其中涉及到更多细节的知识,推荐自行阅读更多相关文档。
iterator迭代器
百度百科上的解释如下:
迭代器(iterator)有时又称游标(cursor)是程序设计的软件设计模式,可在容器(container,例如链表或阵列)上遍访的接口,设计人员无需关心容器的内容。
上面的表述部分(最后一句)欠妥,但大体没问题。
需要理解以下三个概念
可迭代对象:实现可迭代接口,则称为是可迭代的,通常为容器
迭代器:一个接口对象,可以用来遍历可迭代对象内部所含全部元素
迭代:对可迭代对象进行遍访的过程
可迭代对象
因为通常为容器,下面取最常用的一种容器进行解释。
如vector是STL中最常用的一种容器,是一种顺序容器,表现为可扩充大小的数组,支持随机访问。
此处不细说vector的其他概念,我更建议大家去仔细阅读:北京去哪里医院看白癜风寻常型白癜风怎么治疗