迭代器
软件设计模式
迭代器(iterator)有时又称光标(cursor)是程序设计的软件设计模式,可在容器对象(container,例如链表数组)上遍访的接口,设计人员无需关心容器对象的内存分配的实现细节。
名词简介
各种语言实现迭代器的方式皆不尽同,有些面向对象语言像Java,C#,Ruby,Python,Delphi都已将迭代器的特性内置语言当中,完美的跟语言集成,我们称之隐式迭代器(implicit iterator),但像是C++语言本身就没有迭代器的特色,但STL仍利用模板实现了功能强大的迭代器。STL容器的数据的内存地址可能会重新分配(reallocate),与容器绑定的迭代器仍然可以定位到重新分配后的正确的内存地址。
迭代器另一方面还可以集成生成器(generator)。有些语言将二者视为同一接口,有些语言如JavaScript则将之独立化。
示例
C♯
一种新形式的迭代器它提供了函数式编程中的generator,使用yield return
类似于Python中使用的yield
参见
C♯
参考资料
最新修订时间:2024-03-20 00:27
目录
概述
名词简介
示例
参考资料