介绍c++中list的迭代器的erase
时间: 2024-01-04 22:13:05 浏览: 110
c++迭代器使用
在C++中,list是双向链表容器,它提供了迭代器(iterator)来遍历和操作容器中的元素。list的迭代器erase函数用于删除指定位置的元素,并返回指向被删除元素的下一个元素的迭代器。
erase函数有两种重载形式:
1. erase(position): 删除position所指向的元素,并返回指向被删除元素的下一个元素的迭代器。
2. erase(first, last): 删除[first, last)范围内的元素,返回last迭代器。
以下是示例代码:
```cpp
#include <iostream>
#include <list>
int main() {
std::list<int> myList = {1, 2, 3, 4, 5};
// 使用迭代器遍历list
std::list<int>::iterator it = myList.begin();
while (it != myList.end()) {
if (*it == 3) {
it = myList.erase(it); // 删除值为3的元素,并返回下一个元素的迭代器
} else {
++it;
}
}
// 输出删除元素后的list
for (int num : myList) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:1 2 4 5
阅读全文