1.功能:对map容器的数据进行插入和删除操作
2.函数原型
- insert(elem); //在容器中插入元素
- clear(); //清除所有元素
- erase(pos); //删除pos迭代器所指的元素,返回下一个元素的迭代器
- erase(begin,end); //删除区间 [ begin, end) 的所有元素,返回下一个元素的迭代器
- erase(key); //删除容器中值为key的元素
#include<iostream> #include<map> using namespace std; void printmap(map<int, int>& m) { for (map<int, int>::iterator it = m.begin(); it != m.end(); it++) { cout << "key=" << it->first << " value=" << (*it).second << endl; } cout << endl; } void test1() { map<int, int> m; //插入 //第一种 m.insert(pair<int, int>(1, 10)); //第二种,优先推荐 m.insert(make_pair(3, 30)); //第三种 m.insert(map<int,int>::value_type(4, 40)); //第四种,[]方式不建议用于插入,但可以用于按照key来访问对应的value m[5] = 50; cout << m[3] << endl; //30 cout << m[8] << endl; // 打印0。因为没有key=8的对组,所以这个时候会自动创建一个key=8,value=0的对组 printmap(m); /*打印结果: 30 0 key=1 value=10 key=3 value=30 key=4 value=40 key=5 value=50 key=8 value=0 */ //删除 m.erase(m.begin()); printmap(m); m.erase(3); //按照key删除 printmap(m); m.erase(m.begin(), m.end()); //等价于m .clear(); printmap(m); //打印一个换行 } int main() { test1(); return 0; }