筆記之在STL容器中刪除元素的方法選擇

        1.要刪除容器中特定值的所有對象“

如果容器是vector、string或者deque,則使用erase-remove習慣用法。

如果容器是list,則使用list::remove。

如果容器是一個標準關聯容器,則使用它的erase成員函數。


2.要刪除容器中滿足特定判別式(條件)的所有對象:

如果容器是vector、string或者deque,則使用erase-remove_if習慣用法。

如果容器是list,則使用list::remove_if。

如果容器是一個標準關聯容器,則使用remove_copy_if和swap,或者寫一個循環遍歷容器中的元素,記住當把迭代器傳給erase是,要對它進行後綴遞增。


3要在循環內部默寫(除了刪除對象之外的)操作:

如果容器是一個標準序列容器,則寫一個循環來遍歷容器中的元素,記住每次用erase時,要用它的返回值更新迭代器。

如果容器是一個標準關聯容器,則寫一個循環來遍歷容器中的元素,記住每次用erase時,要對迭代器做後綴遞增。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章