gpt4 book ai didi

c++ - 如何从 std::vector 的末尾删除几个元素?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:51:55 30 4
gpt4 key购买 nike

假设我有一个 std::vector 整数:

std::vector<int> v;

v 包含 100 个元素,我想删除最后 10 个元素。我可以想到这个解决方案:

v.erase(v.end() - 10, v.end());

还有更好的吗?

最佳答案

你可以试试这个:

v.resize(v.size()-10);

但是,您需要根据您的方法对其进行基准测试。我不确定它更好,甚至可能完全相同。

您也可以在调整大小之前检查大小:

if(v.size()>=10){
v.resize(v.size()-10);
}

编辑:

Resize 删除 vector 末尾的元素: http://www.cplusplus.com/reference/vector/vector/resize/

If n is smaller than the current container size, the content is reduced to its first n elements, removing those beyond (and destroying them).

关于c++ - 如何从 std::vector 的末尾删除几个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34452139/

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