for(std::vector::iterator iter = g_vecdownloadinfos.begin(); iter != g_vecdownloadinfos.end();)
else
}//pop_back()只刪除最後乙個元素,而erase可以刪掉乙個由iterator指出的元素,也可刪掉乙個範圍的元素
remove()一般情況不改變容器的大小,pop_back()和erase則改變。
參考相關連線:http://www.cnblogs.com/cucmehp/archive/2009/04/28/1445691.html
vector中使用erase刪除元素
很容易受陣列的影響,寫出如下 std vecotr iterator it vc.begin for it vc.end it 原因是vector中在刪除乙個元素後,迭代器會自動指向下乙個元素。所以,上面的 很可能導致迭代器越界。the c standard library 中解釋 c.erase ...
在vector的迴圈中呼叫erase
在使用vector的過程中,有時會遇到需要迴圈遍歷vector,並刪除符合指定條件的元素。當 指定條件 不複雜時,應該盡量使用erase remove if begin,end,func end 的形式來完成功能。但有時候 指定條件 過於複雜,不得不顯式地寫乙個for迴圈來處理。我們必須小心在意er...
在vector的迴圈中呼叫erase
在使用 vector的過程中,有時會遇到需要迴圈遍歷vector,並刪除符合指定條件的元素。當 指定條件 不複雜時,應該盡量使用erase remove if begin,end,func end 的形式來完成功能。但有時候 指定條件 過於複雜,不得不顯式地寫乙個for迴圈來處理。我們必須小心在意e...