C++ primer 第十章

1. 容器元素根据键的次序排列。在迭代遍历关联容器时,我们可确保按键的顺序访问,而与元素的存放顺序无关。

 

2. 对于键的类型,要求必须支持 < 操作符,也就是键之间可以正确的比较大小。

 

3. map的迭代器返回value_type类型的值,是一个包含const key_type和mapped_type的pair对象,即pair <const key_type, mapped_type>;而下标操作符返回的是mapped_type类型的值。

 

4. 对map容器用下标进行插入元素时,会先进行值初始化,然后将键值对插入map,再将插入的值赋予该键值对。例:

对map <string, int> a 进行下标插入操作a["xxx"]=100时,会先初始化一个int对象,值为0,然后将<"xxx",0>这一键值对插入a中,然后读取插入的值100,将100赋给该元素。

 

使用insert函数可以避免不必要的初始化。

a.insert(map<string,int>::value_type("xxx",100));

a.insert(make_pair("xxx",100));//简化方法

 

5. 带有一个键值pair的insert函数将返回一个pair<map<key_type, mapped_type>::iterator, bool>的对象。迭代器指向该元素的位置,bool值表示是否插入成功,如果值为true表示插入成功,否则表示已经存在该键。

 

6. set存储的元素仅仅是键,而没有关联的值。

 

7. map和set中元素是按顺序存储的,在multimap和multiset中也一样,如果某个键对应多个value,则这些实例将相邻存放。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值