gpt4 book ai didi

c++ - STL 列表访问倒数第二个元素

转载 作者:太空宇宙 更新时间:2023-11-04 15:07:10 33 4
gpt4 key购买 nike

如何在不创建临时列表和修改列表的情况下获取指向 STL 列表中倒数第二个元素的迭代器?是否可以只说:--(--mylist.end())?或者这会因为前缀递减而改变列表的 end 迭代器吗?

最佳答案

请注意,一般情况下,--mylist.end()不保证为每个容器编译。

例如,如果您使用 std::vectorstd::array在 Release模式下,mylist.end()可能是原始指针,您不能递减函数返回值的指针。

C++11 中此问题的通用解决方案是 std::prev(std::prev(mylist.end())) ,当然是在检查列表是否足够长之后。你需要#include <iterator>为此。

关于c++ - STL 列表访问倒数第二个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11449690/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com