所有容器都定义了各自的迭代器
迭代器是一个对象,它的工作是在容器中挑选元素,并将其呈现给迭代器使用者。
迭代器分类
Input迭代器 向前读取 istream
Output迭代器 向前写入 ostream
Forward迭代器 向前读取和写入
Bidirectional迭代器 向前和向后读取和写入 list,set,multiset,map,multimap
Random access迭代器 随即存取,可读也可写 vector deque string array
迭代器相关辅助函数:
void advance(InputIterator& pos,Dis n) 此函数没有返回值
Dis distance(InputIterator pos1,InputIterator pos2)可处理迭代器之间的距离
void iter_swap(InputIterator pos1,InputIterator pos2)可交换两个迭代器所指内容
迭代器配接器
Reverse迭代器:对此必须注意正向迭代器和逆向迭代器之间的关系
Insert迭代器,用来将“赋值新值”操作转换为“安插新值”操作
它分为:back_insert_iterator, front_insert_iterator,insert_iterator
Stream迭代器:istream_iterator,ostream_iterator