std::vector沒有直接刪除特定值元素的成員方法。所以必須使用remove演算法:
std::vectorcoll;
...//remove all elements with value val
coll.erase(remove(coll.begin(), coll.end(), val),
coll.end());
remove()返回的是刪除後的尾部迭代器,必須呼叫erase()顯式地刪除其後的元素。
如果僅刪除第乙個特定值元素:
std::vectorcoll;
...//remove first element with value val
std::vector::iterator pos;
pos = find(coll.begin(), coll.end(), val);
if (pos != coll.end())
coll.erase(pos);
金慶的專欄)
vector中的元素刪除
在vector中用迭代器刪除元素會用到erase 函式。這個函式返回的是刪除當前元素後下乙個元素的指標,也就是說在刪除元素後,指標指向刪除元素後面的那個,具體用法參考下面 vector iterator itin inliers.begin vector iterator itm matches.b...
關於STL容器中vector特定元素的刪除問題
問題描述 給定一組整形數,使用vector容器儲存,現在要求刪掉其中值大於某個值的元素。即 初始陣列為,要求刪除其中大於5的元素。這裡使用網上給出的一些方法 錯的 主要參考這裡 vectorprice vector iterator it 1 for it price.begin it price....
如何正確刪除vector中的元素
今天來 c 中的乙個基礎問題。如何正確地刪除vector中符合條件的某元素。比如,有乙個vectornums 要求刪除nums中所有值為2的元素。c 初學者可能很快就寫出 for vector iterator it nums.begin it nums.end it 這段 迴圈遍歷nums中的每個...