C++ STL 迭代器
软件设计有一个基本原则 —— 所有的问题都可以通过引进一个间接层来简化。这种简化在 STL 中就是用迭代器来完成的。
STL 迭代器
迭代器(iterator)是一种抽象的设计概念,《Design Patterns》中对迭代器的定义如下:
“提供一种方法,使之能够依序巡访某个聚合物(容器)所含的各个元素,而又无需暴露该聚合物的内部表示方式。”
概括来说,迭代器在 STL 中的作用是将算法和容器联系起来,起着一种黏和剂的作用。几乎 STL 提供的所有算法都是通过迭代器存取元素序列进行工作的,每一个容器都定义了其本身所专有的迭代器,用以存取容器中的元素。