vector迭代器删除元素
时间: 2024-04-09 13:26:42 浏览: 79
在C++中,可以使用迭代器来删除vector中的元素,以防止迭代器失效。下面是一个示例代码,演示了如何使用迭代器删除vector中的元素[^1]:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vect;
vect.push_back(1);
vect.push_back(2);
vect.push_back(3);
vect.push_back(4);
vect.push_back(5);
// 使用迭代器遍历vector并删除指定元素
for (auto it = vect.begin(); it != vect.end(); ) {
if (*it == 3) {
it = vect.erase(it);
} else {
++it;
}
}
// 输出删除元素后的vector
for (auto num : vect) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
运行上述代码,输出结果为:
```
1 2 4 5
```
这段代码首先创建了一个包含1、2、3、4、5的vector。然后使用迭代器遍历vector,并在遍历过程中删除值为3的元素。最后,输出删除元素后的vector。
阅读全文