vector erase函数
时间: 2023-10-21 10:58:17 浏览: 115
vector中的erase函数用于从向量中删除一个或多个元素。它有两种不同的用法:
1. erase(iterator position):删除指定位置的元素。参数position是一个迭代器,指向要删除元素的位置。删除后,向量的大小会减小,并且所有后续元素会向前移动一个位置。
2. erase(iterator first, iterator last):删除从[first, last)范围内的所有元素。参数first和last是迭代器,用于指定要删除的范围。删除后,所有在该范围内的元素都会被移除,并且向量的大小会相应减小。
以下是一个示例代码,演示如何使用erase函数从vector中删除元素:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 删除指定位置的元素
vec.erase(vec.begin() + 2); // 删除第三个元素,即3
// 删除范围内的元素
vec.erase(vec.begin(), vec.begin() + 2); // 删除前两个元素,即1和2
// 输出剩余的元素
for (int num : vec) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
运行以上代码,输出结果为:4 5,即删除元素后剩下的向量内容。
希望这个解答对你有帮助!如果还有其他问题,请随时提问。
阅读全文