删除vector中的某段数据
时间: 2023-09-24 20:11:50 浏览: 133
要删除 vector 中的某段数据,可以使用 erase 函数。erase 函数的参数是两个迭代器,分别表示要删除的起始位置和结束位置,返回值是一个迭代器,指向删除后的下一个元素。
例如,如果要删除 vector 中索引从 2 到 4 的元素,可以这样写:
```cpp
vector<int> v = {1, 2, 3, 4, 5};
v.erase(v.begin() + 2, v.begin() + 5);
```
这里的 `v.begin() + 2` 表示要删除的起始位置,`v.begin() + 5` 表示要删除的结束位置(注意这里不包括第 5 个元素),调用 erase 函数后,vector 中的元素变为 `{1, 2}`。
需要注意的是,如果要删除的范围超出了 vector 的范围,会导致程序出错。另外,删除 vector 中的元素会导致后面的元素向前移动,因此需要谨慎处理迭代器。
阅读全文