c 之STL容器刪除元素

2022-08-26 19:57:07 字數 509 閱讀 5748

如果是容器vector,string,,deque,使用erase-remove

例如:erase-remove

注:因為container沒有remove,container.erase(it),it為迭代器,std::remove()並不是真正的刪除元素(size()大小沒有變化),只是元素的替換

如果用list則使用remove,即list::remove

如果是關聯式容器使用erase

如果是list則使用remove-if

如果是關聯式容器則使用remove-copy_if

安全刪除STL容器元素

stl容器迭代過程中刪除元素技巧 序列容器的erase方法返回值是指向緊接在被刪除元素之後的元素的有效迭代器,可以根據這個返回值來安全刪除元素。vectorc for vector iterator it c.begin it c.end 關聯容器的 erase 方法沒有返回值,被刪除的迭代器失效,...

STL容器之刪除元素,迭代器失效

一.種類 值得注意的是,陣列可以和stl演算法配合,因為指標可以當作陣列的迭代器使用。二.刪除元素 如果想刪除東西,記住remove演算法後,要加上erase 所謂刪除演算法,最終還是要呼叫成員函式去刪除某個元素,但是因為remove並不知道它現在作用於哪個容器,所以remove演算法不可能真的刪除...

STL容器之刪除元素,迭代器失效

部落格 一.種類 值得注意的是,陣列可以和stl演算法配合,因為指標可以當作陣列的迭代器使用。二.刪除元素 如果想刪除東西,記住remove演算法後,要加上erase 所謂刪除演算法,最終還是要呼叫成員函式去刪除某個元素,但是因為remove並不知道它現在作用於哪個容器,所以remove演算法不可能...