map<K,T>映射容器
map为映射容器的集合,其成员为模板类pair<K,T>的键对象,K是键的类型,T是与键所关联的对象的类型。pair<K,T>是在<utility>头文件中定义的,被包含在<map>头文件中。
一、pair类型
1、pair的创建与初始化
pair<K,T> temp=pair<K,T>(K,T)=make_pair(K,T);
2、pair对象的操作
pair类可以直接访问其数据成员:其成员都是共有的,分别命名为first,second。
3、生成新的pair对象
make_pair函数
二、map
1、map的构造函数
map<K,V> m;
map<K,V> m(m2);
map<K,V> m(b,e); 创建map类型的对象m,存储迭代器b和e标记的范围内的所有元素的副本。
2、键类型的约束
关联容器的键不但有一个类型,还有一个相关的比较函数。默认请款下,标准库使用键类型定义的<操作符来比较。
3、map定义的类型
map<K,V>::key_type=K
map<K,V>::mapped_type=V
map<K,V>::value_type=pair<K,V>
4、map::insert()
map<K,V> m;
m.insert(e); e为map<K,V>::value_type类型。函数返回值为 pair<map<K,V>::iterator,bool>类型。
m.insert(begin,end); 在m中插入begin到end之间的元素。返回void类型。
m.insert(iter,e); 在迭代器iter之后查找插入e。返回值为迭代器。
5、map::erase()
m.erase(K); 删除m中键为K的元素,返回值为size_type类型的值,表示删除的元素个数。
m.erase(p); 从m中删除迭代器p所指向的元素。返回void类型。
m.erase(begin,end); 从m中删除一段范围内的元素,begin到end。返回void类型。