您的位置:首页 > 其它

STL::map关联容器

2009-08-01 15:57 288 查看
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类型。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: