首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何删除forward_list的最后一个元素?

问如何删除forward_list的最后一个元素?
EN

Stack Overflow用户
提问于 2021-07-28 11:45:44
回答 2查看 96关注 0票数 1

我不知道如何删除forward_list的最后一个元素

代码语言:javascript
复制
forward_list<string> names {"fwfew","zhangwne","xiaobew","yaya","qiuqiu","haifeng"};
EN

回答 2

Stack Overflow用户

发布于 2021-07-28 11:58:41

理想情况下,您根本不需要这样做。如果擦除最后一个元素是您需要执行的操作,那么转发列表很可能不是适用于该用例的容器。

也就是说,您可以使用线性搜索来查找倒数第二个迭代器,并使用erase_after。如果只有一个元素存在,请改用pop_front。

票数 2
EN

Stack Overflow用户

发布于 2021-07-28 12:08:55

您正在尝试删除作为std::forward_list实现的单链接列表的最后一个元素。很明显,如果不做列表的倒数第二个元素,就不能做到这一点。

如果你想这样做,那么有很多方法可以迭代到倒数第二,然后调用erase。

如果你知道有多少元素,

代码语言:javascript
复制
forward_list<string> names {"fwfew","zhangwne","xiaobew","yaya","qiuqiu","haifeng"};

auto next_val = std::next( names.begin(), 4 );
 
names.erase_after( next_val );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68554141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档