迭代器
- 迭代器就是封装了的指针
- 访问受限制的容器一般不可以使用迭代器,如栈,队列。
分类
1.输入迭代器(input iterator)
- 取出所指向的值,并指向下一个元素
- 判断是否到达最后一个元素
- 可以复制
- 必须支持*,+ +,+ +(int),!=,==这5个运算符。
2.输出迭代器(output iterator)
允许使用*对数据进行修改
3.前向迭代器(forward iterator)
输入输出迭代器的结合体,*既可以访问元素,也可以修改元素。
4.双向迭代器(bidirectional iterator)
支持–,–(int)。允许迭代器向后移动。
5.随机存取迭代器(random iterator)
迭代器的适配器
分类
插入迭代器
- 插入迭代器(insert_iterator)
- 反向插入迭代器(back_insert_iterator)
- 前向插入迭代器(front_insert_iterator)
反向遍历迭代器(reverse_iterator)
流迭代器
- 输入流迭代器(istream_iterator)
- 输出流迭代器(ostream_iterator)
- 输入缓冲器流迭代器(istreambuf_iterator)
- 输出缓冲器流迭代器(ostreambuf_iterator)