11关联容器
11.1使用关联容器
Map,关键字-值对的集合。例如,可以将一个人的名字做关键字,其电话号码作为值。
Set关键字的简单集合。
使用map,set。
11.2关联容器概述
如上,map既要指明关键字类型又指明值类型。Set只需指明关键字类型。
11.2.2关键字类型的要求
在集合类型中(set),关键字类型就是元素类型。在映射类型中(map,hash),关键字类型是元素的第一部分的类型。
有序容器的关键字类型
严格弱序,小于等于
11.2.3pair类型
定义在头文件utility中,
成员是public的,两个成员分别命名为first和second。
创建pair对象的函数
函数返回一个pair
11.3关联容器的操作
不能改变一个元素的关键字,是const的。Pair的第一个元素是关键字so
11.3.1关联容器迭代器
当解引用一个关联容器迭代器时,得到一个类型为容器的value_type,
set的迭代器是const的
11.3.2添加元素
11.3.3删除元素
11.3.4map的下标操作
使用下标操作的返回值
11.3.5访问元素
find,和count。Count会统计有多少个元素有相同的关键字
对map使用find代替下标操作
下标访问若不存在会新建
11.4无序容器
利用hash函数和关键字类型的==运算符来组织元素。