迭代器

不想你离开。 提交于 2019-12-02 12:01:25


迭代器

  • 迭代器就是封装了的指针
  • 访问受限制的容器一般不可以使用迭代器,如栈,队列。

分类

1.输入迭代器(input iterator)

  1. 取出所指向的值,并指向下一个元素
  2. 判断是否到达最后一个元素
  3. 可以复制
  4. 必须支持*,+ +,+ +(int),!=,==这5个运算符。

2.输出迭代器(output iterator)

允许使用*对数据进行修改

3.前向迭代器(forward iterator)

输入输出迭代器的结合体,*既可以访问元素,也可以修改元素。

4.双向迭代器(bidirectional iterator)

支持–,–(int)。允许迭代器向后移动。

5.随机存取迭代器(random iterator)


迭代器的适配器

分类

插入迭代器

  1. 插入迭代器(insert_iterator)
  2. 反向插入迭代器(back_insert_iterator)
  3. 前向插入迭代器(front_insert_iterator)

反向遍历迭代器(reverse_iterator)

流迭代器

  1. 输入流迭代器(istream_iterator)
  2. 输出流迭代器(ostream_iterator)
  3. 输入缓冲器流迭代器(istreambuf_iterator)
  4. 输出缓冲器流迭代器(ostreambuf_iterator)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!