STL学习笔记14— —迭代器
来源:互联网 发布:360数据恢复精灵 编辑:程序博客网 时间:2024/05/19 10:10
头文件
所有的容器都定义了自己的迭代器类型,所以一般情况下,不需要再自己添加迭代器头文件。但是如果要使用一些特殊的迭代器,如反向迭代器,或者一些迭代器辅助函数,那么就需要添加头文件<iterator>。
迭代器类型
迭代器运算中,++iter比iter++更快,所以最好选用++iter
输入迭代器
*iter //读取实际元素iter ->member //读取实际元素的成员++iter //向前步进(返回新位置)iter++ //向前步进(返回旧位置)iter1 == iter2 //判断两个迭代器是否相等iter1 != iter2 //判断两个迭代器是否不等TYPE(iter) //copy构造函数
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
输出迭代器
*iter = value //将数值写到迭代器所指位置++iter //向前步进(返回新位置)iter++ //向前步进(返回旧位置)TYPE(iter) //copy构造函数
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
前向迭代器
*iter //存取实际元素iter ->member //存取实际元素的成员++iter //向前步进(返回新位置)iter++ //向前步进(返回旧位置)iter1 == iter2 //判断两个迭代器是否相等iter1 != iter2 //判断两个迭代器是否不等TYPE() //default构造函数TYPE(iter) //copy构造函数iter = iter2 //赋值
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
双向迭代器
*iter //存取实际元素iter ->member //存取实际元素的成员++iter //向前步进(返回新位置)iter++ //向前步进(返回旧位置)--iter //向后步进(返回新位置)iter-- //向后步进(返回旧位置)iter1 == iter2 //判断两个迭代器是否相等iter1 != iter2 //判断两个迭代器是否不等TYPE() //default构造函数TYPE(iter) //copy构造函数iter = iter2 //赋值
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
随机存取迭代器
iter[n] //存取索引位置为n的元素iter+=n //向前跳n个元素(若n为负,则向后跳)iter-=n //向后跳n个元素(若n为负,则向前跳)iter+n //传回iter之后的第n个元素n+iter //传回iter之后的第n个元素iter-n //传回iter之前的第n个元素iter1-iter2 //传回iter1和iter2之间的距离iter1<iter2 //判断iter1是否在iter2之前iter1>iter2 //判断iter1是否在iter2之后iter1<=iter2 //判断iter1是否不在iter2之后iter1>=iter2 //判断iter1是否不在iter2之前
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
迭代器辅助函数
advance() //使迭代器前进给定的距离 distance() //返回两个迭代器之间的距离 next() //使迭代器前进一步 prev() //使迭代器后退一步 begin() //返回指向容器首元素的迭代器end() //返回指向容器尾元素的迭代器
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
阅读全文
0 0
- STL学习笔记14— —迭代器
- STL学习笔记— —STL简述
- STL学习笔记——迭代器
- STL学习笔记——03.迭代器
- STL学习笔记— —迭代器
- C++—STL学习笔记
- STL学习笔记 迭代器
- STL学习笔记-迭代器
- STL学习笔记1— —STL简述
- boolan——c++学习笔记之STL迭代器分类
- STL学习笔记——迭代器以及Traits技术
- STL学习笔记——auto_ptr
- STL学习笔记——容器
- STL学习笔记——map容器
- 学习笔记(一)——STL
- 学习笔记(二)——STL
- 学习笔记(三)——STL
- STL 源码学习笔记——vector
- python指定范围内加法代码解析
-  |"|&|<|>等html字符转义
- 最大之列和问题
- JavaWeb简单的单点登录、验证码校验功能实现
- 开启Java之旅
- STL学习笔记14— —迭代器
- java-重写
- 搜索引擎和知识图谱那些事 (上).基础篇
- KendoUI —— data management 类组件 Grid 表格
- 怎么通俗地理解张量
- SpringBoot属性配置实战(多种方式)
- c++之Item7在多态基类中将析构函数声明为virtual
- 在线等
- linux下TCP通信简单实例