C++ STL 顺序容器访问最后一个元素的方法
来源:互联网 发布:视频剪辑软件推荐 编辑:程序博客网 时间:2024/05/16 18:00
遇到个需求,需要实现访问list的最后一个元素,不想通过遍历获取(因为list可能很长)。于是寻找如何方便的访问list的最后一个元素。C++ Primer上面没有很明确的说明,只是说了迭代器 iterator的操作方法和范围。范围是[begin,end),操作有++,--。
于是大胆尝试iterator it = list.end();it--;竟然神奇的获得了想要的结果。后来转念一想,如果迭代器指向end,然后迭代器再++会怎么样?或者迭代器指向begin然后--会怎么样?测试了下,直接抛出超出范围异常。看来STL做的还挺严谨的。
STL最好对这种用法作出说明,虽然很细节,但是很有用。
最后简单说下为什么会有这个需求。需要用STL list实现环形链表,当链表中的第1个元素需要找其前任的时候。会发现找到是链表中的最后一个元素。
这个故事告诉我们,实践很重要,文档有时候不能概括全部细节。
0 0
- C++ STL 顺序容器访问最后一个元素的方法
- 容器篇:取vector最后一个元素的方法
- 容器篇:取vector最后一个元素的方法
- STL 容器和迭代器连载8_访问顺序容器的元素
- STL 容器和迭代器连载8_访问顺序容器的元素
- 【C/C++】顺序容器访问元素和删除元素
- 【c++】stl顺序容器
- 容器的最后一个元素是否大于第一个元素
- 删除STL容器元素的方法
- c++primer之顺序容器(访问元素)
- 顺序容器5 访问元素
- C++ 顺序容器访问元素
- C++——STL中三种顺序容器的简要区别
- 【day0412 C++】顺序容器 STL list类的应用
- 顺序容器--添加及访问元素
- STL:循环删除容器中元素的方法和陷阱
- STL:循环删除容器中元素的方法和陷阱
- STL:循环删除容器中元素的方法和陷阱
- 1007. Maximum Subsequence Sum (25)
- 用R解析mahout用户推荐协同过滤算法
- 图像处理学习开始
- 1008. Elevator (20)
- hadoop yarn机制
- C++ STL 顺序容器访问最后一个元素的方法
- Codeforces #302 Div1 简要题解
- XCode的一些调试技巧
- sql学习笔记(6)-----------sql函数(1)
- 枚举使用误区--iOS开发
- ios 数组赋值时取不到 数组赋值为空 奇葩问题
- 【golang】信号捕捉和处理
- Win32多窗口程序的创建
- Xcode导入静态库有时会出现莫名其妙的问题