簡介

該頭文件圍繞迭代器展開,定義了一系列與迭代器有關的概念,但最最最重要的一點就是----它和其它容器一起實現了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]代指該類迭代器支持的操作集):