1. 删除指定的key
map<int,int> ::iterator iter = m.find(1);
m.erase(iter);
上述例子的map是任意给定的,我们指定删除map<int,int> m中 键值为1的数据
测试结果m的size减一
上完整测试代码
#include
#include
2. 循环删除
我们在遍历 的时候,可能需要判断条件,然后将满足条件的删除,那么我们同样这么处理
#include<iostream>
#include<map>
using namespace std;
int main(){
map<int,int> m;
m[1] = 11;
m[2] = 22;
map<int,int>::iterator iter;
for(iter = m.begin(); iter!=m.end();iter++){
if(iter->first==1)
m.erase(iter);
}
for(iter = m.begin(); iter!=m.end();iter++)
cout<<iter->first<<endl;
}