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
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 快走后小腿粗了怎么办? 猫的嘴巴烂了怎么办 苹果8丢了已关机怎么办 肚子吃多了难受怎么办 喝水喝的肚子胀怎么办 肚子吃撑了难受怎么办 肚子撑得想吐怎么办 吃饭吃的太饱怎么办 吃饭吃的太撑怎么办 跑步迈不开步子怎么办 踏步走步子反了怎么办 微信不支持计步怎么办 肝癌二次介入后头晕心慌怎么办 跑步跑得胃疼怎么办 如果世界上的猪都死了怎么办 我和我老婆吵架怎么办 我和我老婆吵架了怎么办 智障人士父母死后怎么办 依赖性太强的人怎么办 高考只有一门写准考证号怎么办 ps做动画不流畅怎么办 ff15引擎剑卖了怎么办 fgo从者满了怎么办 游泳池的水喝了怎么办 月球没有水怎么办秒懂 请了新财神旧的怎么办 报警校体检没过怎么办 ae中建立了文本打不出字怎么办 宝宝3岁内八字怎么办 一岁半宝宝走路内八字怎么办 一岁宝宝走路内八字怎么办 宝宝1岁了内八字怎么办 宝宝学走路内八字怎么办 人胖走路磨腿怎么办 2岁半宝宝内八字怎么办 大狗跑步累倒怎么办? 拉小提琴的姿势不正确怎么办 屁股摔倒了很痛怎么办 腿摔倒了破了怎么办 骑车摔倒腿肿了怎么办 鸟翅膀老是掉着怎么办