c++Primer读书笔记(第十一章 关联容器)

在这里插入图片描述

11.1 使用关联容器

使用map:
在这里插入图片描述
使用set:

11.2 关联容器概述

11.2.1 定义关联容器

初始化multimap或multiset

在这里插入图片描述

11.2.2 关键字类型的要求

11.2.3 pair类型

在这里插入图片描述

11.3 关联容器操作

在这里插入图片描述

11.3.1 关联容器迭代器

解引用一个关联容器迭代器时,我们就可以得到一个类型为容器的value_type值。对于map,是一个pair类型
在这里插入图片描述
set的迭代器是const的

关联容器和算法

通常我们不对关联容器使用泛型算法(因为const这一特性)
一般用关联容器定义的专用find成员会比调用泛型find快的多。

11.3.2 添加算法

insert可以接受一对迭代器,或者一个初始化列表。
在这里插入图片描述
向map添加元素(四种)

insert
在这里插入图片描述
检测insert的返回值

insert返回一个pair,pair的first是一个迭代器,指向具有给定关键字的元素;second是一个bool值,指出元素是插入成功还是已经存在于容器中。
如果已经存在:second为false
如果不存在;second为true在这里插入图片描述
向multiset或multimap添加元素

关键字不唯一,一个关键字可以有多个映射。
在这里插入图片描述

11.3.3删除元素

在这里插入图片描述

11.3.4 map的下标操作

在这里插入图片描述
使用下标操作的返回值

下标操作返回一个mapped_type对象(second的对象类型)
解引用一个map迭代器时,得到一个value_type对象(pair<const key_type,mapped_type>)

11.3.5 访问元素

在这里插入图片描述
其中lower_bound和upper_bound不适用于无序容器

对map使用find代替下标操作

下标操作有可能会添加元素,如果没有特殊需求最好使用find

11.4 无序容器

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值