C++中的erase函数是用于从容器中删除元素的函数。它可以用于删除容器中的一个或多个元素,也可以用于删除指定范围内的元素。
erase函数的用法有多种,具体取决于容器的类型。以下是常见容器的erase函数用法:
-
对于向量(vector)和字符串(string):
- erase(iterator):删除指定位置的元素,返回指向下一个元素的迭代器。
- erase(iterator1, iterator2):删除指定范围内的元素,返回指向下一个元素的迭代器。
-
对于列表(list)和双向链表(deque):
- erase(iterator):删除指定位置的元素,返回指向下一个元素的迭代器。
- erase(iterator1, iterator2):删除指定范围内的元素,返回指向下一个元素的迭代器。
-
对于关联容器(如集合(set)和映射(map)):
- erase(iterator):删除指定元素。
- erase(key):删除指定键对应的元素。
需要注意的是,在使用erase函数删除元素后,原来的迭代器可能会失效,需要使用返回的新迭代器来继续操作容器。此外,不同容器的erase函数的时间复杂度可能不同,具体取决于容器的实现方式。