确使用户可在容器物件（，例如链表或阵列）上遍访的对象，设计人员使用此介面无需关心容器物件的内存分配的实现细节。其行为很像数据库技术中的游标（），迭代器最早出现在1974年设计的CLU编程语言中。在各种语言实作迭代器的方式皆不尽同，有些物件导向语言像Java、C#、Ruby、Python、Delphi都已将迭代器的特性内建语言当中，完美的跟语言整合，我们称之隐式迭代器。但像是C++语言本身就没有迭代器的特色，但STL仍利用模板实作了功能强大的迭代器。STL容器的数据的内存地址可能会重新分配（realloc