stl vector的erase
时间: 2023-08-29 08:14:16 浏览: 101
大家注意vector, list, set, map成员函数erase
vector的erase函数用于删除容器中的元素。它有两种用法:
1. 删除单个元素:可以通过指定要删除元素的迭代器位置来删除单个元素。例如,要删除vector中的第三个元素,可以使用以下代码:
```cpp
vector<int> vec = {1, 2, 3, 4, 5};
vec.erase(vec.begin() + 2); // 删除第三个元素
```
2. 删除指定范围的元素:可以通过指定要删除元素的起始和结束迭代器位置来删除一定范围内的元素。例如,要删除vector中的前三个元素,可以使用以下代码:
```cpp
vector<int> vec = {1, 2, 3, 4, 5};
vec.erase(vec.begin(), vec.begin() + 3); // 删除前三个元素
```
请注意,erase函数会在删除元素后将后续元素向前移动以填补空缺,因此在删除后迭代器会失效。如果需要继续遍历容器,请适当调整迭代器位置。
阅读全文