C++STL迭代器篇

前言

上一章节主要是详细介绍了C++STL容器篇,不清楚的能够回顾一下哦。本章节主要针对于C++迭代器作个详细介绍。迭代器通常是用来遍历和访问容器中的数据而存在的,迭代器是让类的对象相似于指针运算同样操做容器。web

迭代器总括

迭代器按照定义分类:编程

  • 正向迭代器 : 容器类名::iterator  迭代器名;数组

  • 常正向迭代器 : 容器类名::const_iterator  迭代器名;微信

  • 反向迭代器 :容器类名::reverse_iterator  迭代器名;app

  • 常反向迭代器 : 容器类名::const_reverse_iterator  迭代器名;编辑器

以上通常是内置迭代器。测试

迭代器的功能分类:

  • 正向迭代器 flex

  • 双向迭代器 spa

  • 随机方向迭代器 .net

  • 流型迭代器

不一样容器的迭代器的功能以下:

内置迭代器使用

内置迭代器使用,这里就以list和map为例,而且只演示正向迭代器的使用以及反向迭代器的使用。

1
list为例

list和vector些迭代器使用基本差很少,就是类名前缀不一样而已。测试代码以下:

2
map为例

由于map中存储的数据是数对类型(pair<type1,type2>),因此咱们在用迭代器遍历的时候须要剥洋葱,测试代码以下:

流型迭代器使用

流型迭代器的使用你们能够了解一下便可,难度并非很大,主要是掌握两种流型迭代器的构造含义便可,构造含义以下:

使用的测试代码以下:

流型迭代器相对于来讲用的不是不少,掌握上图中的copy操做便可。

更多的内容你们能够自行补充。

内置迭代器的简单实现

若是你对于内置迭代器感受很难记,不妨看看内置迭代器的实现,其实这些操做都是C++运算符重载而已,测试代码以下:

数据组成


list封装

迭代器主要实现代码


尾言

本栏目到这里结束了,下一章节讲迭代器,做业:本身简单实现一个vecotr数组




本文分享自微信公众号 - C语言编程基础(goodStudyCode)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索