vector的remove和erase区别

发布时间 2023-04-21 23:12:32作者: fun-debug

vector的remove和erase区别

erase:

erase函数可以用于删除vector容器中的一个或者一段元素,在删除一个元素的时候,参数上的指针会指向原来的位置

iterator erase(iterator position);

iterator erase(iterator first, iterator last);

remove:

iterator remove(iterator first, iterator last,val);

vector中erase的作用是删除掉某个位置position或一段区域(begin, end)中的元素,减少其size,返回被删除元素下一个元素的位置。

vector中remove的作用是将范围内为val的值都remove到vector数组的末端,返回新的end()值(非val部分的end),但传入的原vector的end并没有发生改变,因此size也就没有变化