18.9.4 map插入和删除
函数原型:
insert(elem);
//在容器中插入元素clear();
//清除容器中所有元素erase(begin, end);
//删除[begin, end)中所有元素erase(pos);
//清除pos位置的元素erase(key);
//清除key对应的元素
#include <iostream>
#include <map>
using namespace std;
template<class T1, class T2>
void printMap(const map<T1, T2>& m)
{
for (map<T1, T2>::const_iterator it = m.begin(); it != m.end(); it++)
{
cout << "key=" << it->first << '\t' << "value=" << it->second << endl;
}
cout << endl;
}
void test1()
{
map<int, int>m;
//第一种
m.insert(pair<int, int>(1, 10));
//第二种
m.insert(make_pair(2, 20));
//第三种
m.insert(map<int, int>::value_type(3, 30));
//第四种
m[4] = 40;
//不建议[]插入,但可以用key来访问value
cout << m[5] << endl;
cout << m[4] << endl;
printMap(m);
//删除
m.erase(m.begin());
printMap(m);
//按照key删除
m.erase(3);
printMap(m);
//区间//清空
//m.erase(m.begin(), m.end());
m.clear();
printMap(m);
}
int main()
{
test1();
//std::cout << "Hello World!\n";
}