std::vector<int>删除元素
时间: 2024-10-13 21:01:18 浏览: 19
通过代码实例解析c++ vector常用方法
在C++中,`std::vector<int>`是一种动态数组,可以方便地在运行时调整其大小。有多种方式可以从vector中删除元素:
1. **使用erase**[^1]:
```cpp
// 删除第一个匹配项
vector<int>::iterator it = find(vector.begin(), vector.end(), target_value);
if (it != vector.end()) {
vector.erase(it);
}
// 或者删除所有匹配项
erase(remove(vector.begin(), vector.end(), target_value), vector.end());
```
2. **使用remove和erase序列操作**:
```cpp
// 移动到要删除的元素的位置,但不真正删除
remove(vector.begin(), vector.end(), target_value);
// 现在,所有target_value已经被移动到了vector的末尾,你可以选择性地删除它们
vector.erase(remove(vector.begin(), vector.end(), target_value), vector.end());
```
注意,`erase`会改变迭代器的有效性,所以在调用`erase`之后,之前的迭代器可能指向已经移除位置的下一个元素。
阅读全文