答案:vector的erase函数用于删除指定位置或范围元素,返回指向删除后下一元素的迭代器;可结合find删除特定值,推荐使用remove-erase惯用法删除满足条件的多个元素,注意迭代器失效与性能影响。

在C++中,vector 是一个动态数组容器,支持在运行时动态添加和删除元素。要删除 vector 中的元素,最常用的方法是使用 erase() 函数。下面详细介绍 erase 的用法以及一些常见操作。
erase() 函数用于删除 vector 中指定位置或范围的元素,有以下两种主要形式:
函数返回值是一个迭代器,指向被删除元素之后的下一个元素。
如果你想删除 vector 中某个特定位置的元素,比如第2个元素(索引为1),可以这样做:
立即学习“C++免费学习笔记(深入)”;
vector<int> vec = {10, 20, 30, 40};你也可以删除从某个起始位置到结束位置之间的所有元素:
vector<int> vec = {10, 20, 30, 40, 50};如果想删除某个具体值(例如删除所有等于30的元素),通常需要配合 std::find 或 循环 + 条件判断 使用。但注意:find 只能找到第一个匹配项。
#include <algorithm>如果你要删除多个相同值或满足某种条件的元素,直接用 erase 配合循环可能出错(因为迭代器失效)。推荐使用 remove-erase 惯用法:
vec.erase(std::remove(vec.begin(), vec.end(), 30), vec.end());或者使用 lambda 表达式删除满足条件的元素:
vec.erase(以上就是c++++ vector删除元素 c++ vector erase用法的详细内容,更多请关注php中文网其它相关文章!
c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号