C++ STL list迭代器
一、list容器迭代器函数
函数 | 功能 |
---|---|
begin() | 返回指向容器中第一个元素的双向迭代器(正向迭代器) |
end() | 返回指向容器中最后一个元素所在位置的下一个位置的双向迭代器。(正向迭代器) |
rbegin() | 返回指向最后一个元素的反向双向迭代器 |
rend() | 返回指向第一个元素所在位置前一个位置的反向双向迭代器 |
cbegin() | 和 begin() 功能相同,只不过在其基础上,正向迭代器增加了 const 属性,即不能用于修改元素 |
cend() | 和 end() 功能相同,只不过在其基础上,正向迭代器增加了 const 属性,即不能用于修改元素 |
crbegin() | 和 rbegin() 功能相同,只不过在其基础上,反向迭代器增加了 const 属性,即不能用于修改元素 |
crend() | 和 rend() 功能相同,只不过在其基础上,反向迭代器增加了 const 属性,即不能用于修改元素 |
假如p1,p2都是双向迭代器,那么
支持++p1、 p1++、 p1--、 p1++、 *p1、 p1==p2 以及 p1!=p2;
不支持p1[i]、p1-=i、 p1+=i、 p1+i 、p1-i、p1p2、 p1<=p2、 p1>=p2。
二、实例 1、遍历list容器元素
i = 0;
listIter = listInt.begin();
for (;
listIter != listInt.end();
listIter++)
{
std::cout << " sort listInt[" << i++ << "]=" << *listIter << std::endl;
}
【C++ STL list迭代器】其他的函数功能和vector等类似,不再说明使用方法
注意点: 1、list 容器不支持随机访问,未提供下标操作符 [] 和 at() 成员函数,也没有提供 data() 成员函数
2、 front() 和 back() 成员函数,可以分别获得 list 容器中第一个元素和最后一个元素的引用形式,必要时还能修改其值
3、若希望访问list容器其他位置的元素,只能通过list容器的迭代器,也可以通过迭代器对指定元素的值进行修改
推荐阅读
- opencv|opencv C++模板匹配的简单实现
- C语言学习|第十一届蓝桥杯省赛 大学B组 C/C++ 第一场
- Quartz|Quartz 源码解析(四) —— QuartzScheduler和Listener事件监听
- Flutter的ListView
- c++基础概念笔记
- 1.2序列通用操作
- Java应该在哪里判断List是否为空
- 牛逼!C++开发的穿越丛林真人游戏,游戏未上线就有百万人气
- 最新Mac系统安装fastlane|最新Mac系统安装fastlane /usr/bin 权限问题
- C++Primer之|C++Primer之 函数探幽