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