簡介
該頭文件圍繞迭代器展開,定義了一系列與迭代器有關的概念,但最最最重要的一點就是----它和其它容器一起實現了C++容器的Iterator設計模式。
Iterators are a generalization of pointers that allow a C++ program to work with different data structures(containers) in a uniform manner.
上述文字摘自C++14標準草案,簡而言之,迭代器就是對指針的一層封裝,提供了統一的接口。
使用迭代器有很多好處:
訪問數據內容,同時不暴露其內部結構,降低耦合性。
支持multiple traversal(即同時有多個遍歷發(fā)生)。
提供統一的訪問接口和多態(tài)遍歷(該多態(tài)為靜態(tài)多態(tài),發(fā)生在編譯期)。
詳細請見設計模式。
迭代器類別
迭代器主要有5類([iterator-class]代指該類迭代器支持的操作集):