删除指定map中指定key的元素:
#include <stdio.h>
#include <string>
#include <map>
#include <memory>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
map<int, int> dmap;
dmap.insert(pair<int, int>(3, 1));
dmap.insert(pair<int, int>(4, 1));
dmap.insert(pair<int, int>(5, 1));
dmap.insert(pair<int, int>(6, 1));
int ret = dmap.erase(3);
printf("ret: %d\n", ret);
ret = dmap.erase(9);
printf("ret: %d\n", ret);
getchar();
return 0;
}
运行结果为:
ret: 1
ret: 0
分析:删除map中指定key的元素会返回删除元素的数量,如果key不存在则返回0,key存在的话返回1
删除迭代器指定的元素:
#include <stdio.h>
#include <string>
#include <map>
#include <memory>
using namespace std;
int _tmain(int