迭代器
維基百科,自由的 encyclopedia
迭代器(iterator,疊代器),是使使用者可在容器物件(container,例如鏈結串列或陣列)上遍訪的物件[1][2][3],設計人員使用此介面無需關心容器物件的主記憶體分配的實現細節。其行為很像資料庫技術中的游標(cursor),迭代器最早出現在1974年設計的CLU程式語言中。
在各種語言實作迭代器的方式皆不盡同,有些物件導向語言像Java、C#、Ruby、Python、Delphi都已將迭代器的特性內建語言當中,完美的跟語言整合,我們稱之隱式迭代器。但像是C++語言本身就沒有迭代器的特色,但STL仍利用模板實作了功能強大的迭代器。STL容器的數據的主記憶體位址可能會重新分配(reallocate),與容器綁定的迭代器仍然可以定位到重新分配後的正確的主記憶體位址。