vector的erase函数
时间: 2023-10-21 16:10:57 浏览: 57
大家注意vector, list, set, map成员函数erase
vector的erase函数可以用来删除vector中的元素。它有两个重载版本:
1. erase(iterator position):删除指定位置上的元素,返回下一个元素的迭代器。
2. erase(iterator first, iterator last):删除[first,last)区间中的所有元素,返回最后一个被删除元素的下一个元素的迭代器。
例如:
```cpp
std::vector<int> v{ 1, 2, 3, 4, 5 };
v.erase(v.begin() + 2); // 删除第三个元素,即3
// 现在v为{1, 2, 4, 5}
v.erase(v.begin() + 1, v.begin() + 3); // 删除第二个和第三个元素,即2和4
// 现在v为{1, 5}
```
需要注意的是,删除元素后,vector的大小会减小,同时被删除元素之后的所有元素都会向前移动一个位置。
阅读全文