c++ remove() erase() 区别

  1. remove(begin(), end(), val):
    返回新的end()迭代器但是不改变原来数组的end()迭代器的值,将范围内值等于val的元素用后一个元素替代。原先数组中 新的end()至原end()范围内的值仍为原来数组的值,但是这部分状态不可靠。
  2. erase()://参数填迭代器或者迭代器,长度
    返回下一个元素的迭代器且改变原来数组的end()迭代器的值,将范围内的值用下一个元素替代。

区别:
返回值不同,是否改变了原数组的end()的值。


版权声明:本文为cFarmerReally原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。