首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从获取前n-5个元素的现有列表中创建新列表?

如何从获取前n-5个元素的现有列表中创建新列表?
EN

Stack Overflow用户
提问于 2013-02-07 02:12:09
回答 1查看 124关注 0票数 3

如何从已有的std::list获取前n-5个元素来创建新的std::list?N为现有列表( list )的大小

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-07 02:15:08

代码语言:javascript
复制
std::list<T> newlist(oldlist.begin(), std::prev(oldlist.end(), 5));

其中T是旧列表的值类型。

std::prev是C++11中的新特性,但是如果您还没有它,您可以改用std::advance

代码语言:javascript
复制
std::list<T>::const_iterator end = oldlist.end();
std::advance(end, -5);
std::list<T> newlist(oldlist.begin(), end);

无论哪种方式,你都有责任确保oldlist.size() >= 5std::prevstd::advance都不能为您做到这一点。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14735927

复制
相关文章

相似问题

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