vector.erase如何使用
时间: 2023-10-21 17:51:50 浏览: 99
vector.erase() 函数用于删除 vector 容器中的一个或多个元素。它有多种用法,具体取决于你想要删除的元素的位置或者范围。
以下是 vector.erase() 函数的几种常见用法:
1. 删除单个元素:
```cpp
vector.erase(iterator); // 删除 iterator 指向的元素
```
2. 删除指定范围的元素:
```cpp
vector.erase(startIterator, endIterator); // 删除从 startIterator 到 endIterator(不包括 endIterator)范围内的元素
```
3. 删除满足特定条件的元素:
```cpp
vector.erase(std::remove_if(vector.begin(), vector.end(), condition), vector.end()); // 删除满足 condition 条件的所有元素
```
请注意,这些示例中的 "iterator"、"startIterator" 和 "endIterator" 都是指向 vector 中元素的迭代器。
下面是一个使用 vector.erase() 函数的示例:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 删除第三个元素
vec.erase(vec.begin() + 2);
// 删除范围 [1, 4) 内的元素
vec.erase(vec.begin() + 1, vec.begin() + 4);
// 删除所有偶数元素
vec.erase(std::remove_if(vec.begin(), vec.end(), [](int n) { return n % 2 == 0; }), vec.end());
// 打印剩余元素
for (int n : vec) {
std::cout << n << " ";
}
std::cout << std::endl;
return 0;
}
```
运行结果为:
```
1
```
这是一个简单的示例,演示了如何使用 vector.erase() 函数删除元素。根据你的具体需求,你可以根据上述示例进行相应的修改。
阅读全文