范型算法 remove():
remove() 没有真正从容器中删除元素,容器的元素个数也不会改变。remove() 所做的是把未被删除的元素往前移动,以填充被删除元素留下的空位,而把被删除元素移到容器后面。最后,remove() 返回一个指向第一个被删除元素的 iterator,如果没有元素被删除,则返回 end() iterator。
remove() 如此工作的原因是它不是作用在容器上,而是作用在 iterator上,但是 iterator 并没有像“删除 iterator 指向的元素而不管是什么容器”的操作。要删除元素必须要用到直接作用在容器上的操作,如 erase()。
文章来源:
http://my.donews.com/robinchow/2007/01/17/sowxiqnuyycsamoatekjugwfqwlehlxzztxi/