vector中的erase函数
时间: 2023-11-21 14:41:11 浏览: 92
stl容器set,map,vector之erase用法与返回值详细解析
vector中的erase函数用于删除一个或多个元素。它的用法有多种形式,可以删除指定位置的元素,也可以删除指定范围的元素。在引用中的示例代码中,a.erase(a.begin()+1, a.begin()+4)表示删除了a中位置从1到3的元素,即删除了2、3、4这三个元素。在引用中的示例代码中,q.erase(unique(q.begin(),q.end()),q.end())表示删除了q中重复的元素。在这个例子中,排序后的q为{0, 1, 3, 4, 5, 6, 8, 9, 10},通过erase函数删除了重复的元素,最终得到了去重后的结果。需要注意的是,在使用erase函数删除元素时,要确保删除操作不会越界,并且要注意迭代器的失效问题。具体来说,在遍历容器并删除元素时,不能直接在循环中调用erase函数,而是应该在循环体内使用erase函数删除元素。这是因为在调用erase函数后,容器的大小和迭代器会发生变化,如果继续使用失效的迭代器进行遍历操作,会导致程序出错。所以应该在erase函数之后更新迭代器。
阅读全文