来自http://zh.cppreference.com/w/cpp/iterator
迭代器库提供了5种迭代器的定义,同时还提供了迭代器特征、适配器及其相关的工具函数。
迭代器共有5种:InputIterator,OutIterator,ForwardInterator,BidirectionalIterator以及RandomAccessIterator
迭代器的分类不是迭代器的类型,而是迭代器所支持的操作。换句话说,某个类型值哟啊支持相应的操作,就可以作为迭代器使用。例如指针支持RandomAccessIterator要求的操作,于是任何需要RandomAccessIterator的地方都可以使用指针。
5种迭代器有四种按层级组织,上层RandomAccessIterator支持下层InputIterator的操作。如果这4中有支持OutputIterator的要求,测试可变容器。