vector的remove和erase区别
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也就没有变化