STL 迭代器

零、迭代器头文件(header files for iterators)

所有容器都定义有各自的 iterator 类型,所以当打算使用某种容器的 iterators 时,不必包含什么特定的头文件。不过有些特别的 iterator,例如 reverse iterator(rbegin(),rend()),以及若干辅助的 iterator 函数,被定义于头文件<iterator>中。

#include <iterator>

一、迭代器种类(iterator category)

之所以有分类(category)的概念,在于,不同的 iterator 具有不同的能力(指的是行进能力),不同的容器、不同的算法对 iterator 的要求也不尽相同,要求所有的算法所有的容器对 iterator 的要求相同,既不现实,也无必要。例如 sorting 算法所需的 iterator 必须能够执行随机访问(random access),否则效能很糟。

1.1 Output 迭代器

你可能感兴趣的:(STL 迭代器)