[導入]More Exceptional C++ 之 2
范型算法 remove():remove() 沒有真正從容器中刪除元素,容器的元素個數也不會改變。remove() 所做的是把未被刪除的元素往前移動,以填充被刪除元素留下的空位,而把被刪除元素移到容器后面。最后,remove() 返回一個指向第一個被刪除元素的 iterator,如果沒有元素被刪除,則返回 end() iterator。
remove() 如此工作的原因是它不是作用在容器上,而是作用在 iterator上,但是 iterator 并沒有像“刪除 iterator 指向的元素而不管是什么容器”的操作。要刪除元素必須要用到直接作用在容器上的操作,如 erase()。
文章來源:http://my.donews.com/robinchow/2007/01/17/sowxiqnuyycsamoatekjugwfqwlehlxzztxi/
posted on 2007-10-23 20:47 Robin Chow 閱讀(66) 評論(0) 編輯 收藏 引用