voctor.erase
时间: 2023-10-19 16:30:16 浏览: 42
vector.erase() 是 C++ STL 中 vector 容器的一个成员函数,用于从 vector 中删除一个或多个元素。
vector.erase() 函数有两种形式:
1. 删除单个元素:vector.erase(iterator position)
这种形式的函数通过迭代器 position 指定要删除的元素,例如:
```
std::vector<int> vec{1, 2, 3, 4, 5};
vec.erase(vec.begin() + 2); //删除第三个元素,即3
```
2. 删除一段元素:vector.erase(iterator first, iterator last)
这种形式的函数通过迭代器 first 和 last 指定要删除的元素范围,例如:
```
std::vector<int> vec{1, 2, 3, 4, 5};
vec.erase(vec.begin() + 1, vec.begin() + 4); //删除第二到第四个元素,即2,3,4
```
需要注意的是,vector.erase() 函数会改变 vector 容器的大小,删除元素后原来的迭代器可能会失效。因此,在使用 vector.erase() 函数时需要小心操作。