map容器的erase用法

2021-07-11 18:55:12 字數 693 閱讀 6453

刪除指定map中指定key的元素:

#include #include #include #include using namespace std;

int _tmain(int argc, _tchar* argv)

執行結果為:

ret: 1

ret: 0

分析:刪除map中指定key的元素會返回刪除元素的數量,如果key不存在則返回0,key存在的話返回1

刪除迭代器指定的元素:

#include #include #include #include using namespace std;

int _tmain(int argc, _tchar* argv)

執行結果如下:

iter_ret->first: 4, iter_ret->second: 1

iter_ret->first: 4, iter_ret->second: 1

damp end

分析:erase(iter)刪除迭代器指向的元素, erase(iter1, iter2)刪除[iter1, iter2)區間的元素,元素不能重複刪除,否則會出錯,函式會返回乙個指向下乙個元素的迭代器

map中的erase成員函式用法

於 一 include include include using namespace std int main void 正確的寫法 for itor m.begin itor m.end else 另乙個正確的寫法,利用erase的返回值,注意,有些版本的stl map沒有返回值,比如sgi版,...

vector 容器erase 錯誤用法

在用vector刷題時碰到的基本出現錯誤的 如下 int main void int len sizeof num sizeof num 0 nums.assign num,num len auto iter slow nums.begin vector iterator iter nums.beg...

STL 序列容器和關聯容器erase的用法

之前在 中使用map erase函式時,誤搬了vector erase的用法,導致server down掉了,好在在測試環境就及時發現了問題,在上線前進行了補救 以下總結一下map erase的正確用法。首先看一下在迴圈中使用vector erase時我習慣的用法 for vector iterat...