介绍
○ . 所有元素都会根据元素的键值自动排序,map所有的元素都是pair<键值,实值>,map不允许两个元素有相同的键值。
○ . 不能通过map的迭代器改变map的键值,可以改变元素的实值。
○ . map和list有相同的性质,插入和删除操作都不会造成原有list迭代器的失效,只有被删除的元素的迭代器失效,其他迭代器不会受到影响。
○ . map和multimap的操作类似,唯一区别multimap键值可重复(他两都是以红黑树为底层实现)
操作
操作和前面介绍的容器基本类似
- 头文件
- 默认插入时按键值升序,如果降序需要用仿函数
- 插入值 四种方式
○ 第一种 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; //m[5] 不会报错,放入value 0,容易手残