vector中清除某個元素方法 erase

2021-05-27 23:37:13 字數 749 閱讀 5635

給乙個vector

物件,如何實現遍歷乙個刪除乙個。這個問題主要考察

vector

erase

函式。

erase

函式的宣告如下:

iterator erase(iterator_where);

iterator erase(iterator_first,iterator_last

);

作用:從vector中刪除從指定位置開始的乙個或一系列元素。

引數:_where

:要從vector

中刪除的元素的位置

_first

:從vector

中刪除的第乙個元素的位置

_last

:從vector

中刪除的最後乙個元素後邊的位置

返回值:指向所有所有被刪除元素後剩餘的第乙個元素的迭代器,如果沒有這樣的元素,返回指向

vector

結尾的指標。

erase

函式呼叫後,原有的迭代器會失效,而

erase

的返回值可以作為當前有效的迭代器。

for(next = vpb.begin(); next != vpb.end(); )

}

vector刪除元素與清除記憶體空洞

問題 stl中的vector容器常常造成刪除假象,這對於c 程式設計師來說是極其討厭的,effective stl 大師已經將之列為第17條,使用交換技巧來修整過剩容量。記憶體空洞這個名詞是網上的學者給出的,我覺得用來描述這個基本現象特別容易提醒自己vector刪除的這個陷阱。首先給出一段 35 v...

刪除vector 某個結構體元素相同的內容

1 功能 刪除變數a 相同的結構體 include include include include include include include include include include include using namespace std struct link string a str...

vector中的元素刪除

在vector中用迭代器刪除元素會用到erase 函式。這個函式返回的是刪除當前元素後下乙個元素的指標,也就是說在刪除元素後,指標指向刪除元素後面的那個,具體用法參考下面 vector iterator itin inliers.begin vector iterator itm matches.b...