C++ primer学习笔记 第10章
来源:互联网 发布:乐其网络 知乎 编辑:程序博客网 时间:2024/06/07 05:12
1.关联容器通过键key 存储和读取元素。两个基本的关联容器是map和set。
2.
3.set比较适合有效存储不同值的集合,而map适用于存储(或修改)每个键所关联值的情况。
4.
5.创建pair对象时,必须提供两个类型名。
6.对于pair类,可以直接访问其数据成员,其成员都是公有的,分别名为first和second。
7.在迭代遍历关联容器时,按键的顺序访问元素,而与元素在容器中的存放位置完全无关。
8.
9.比较函数在键类型上 严格弱排序。当一个键与自身比较时 返回false结果。
10.对于键 类型,唯一的约束就是必须支持 < 操作符。
11.value_type 是存储元素的键以及值的pair类型, 而且键为 const。即它的值成员可修改,键成员不能修改。
12.用下标访问不存在的元素将导致在map容器中添加一个新的元素,它的键即为该下标值。
13.
14.下标操作符带来的副作用:不必要的初始化。
15.使用make_pair和typedef简化。
16.
17.
18.map容器是键-对的集合;set容器只是单纯的键的集合。
19.set不支持下标操作符,而且没有定义mapped_type类型。
20.set中的键也为const。
21.multimap不支持下标运算。
22.在multimap和multiset容器中,如果某个键对应多个实例,则这些实例在容器中相邻存放。
23.
24.lower_bound返回的迭代器指向该键关联的第一个实例,若该键不在容器中,则lower_bound返回在保持容器元素顺序的前提下该键应被插入的第一个位置。
25.equal_range函数返回存储一对迭代器的pair对象。
26.map<string,int> wordCount;可用作其下标的类型为string和C风格字符串(包括字面值、数组名、指针)。
27.带一个键-值pair形参的insert函数将返回一个pair对象,该对象包含一个迭代器和一个bool值,其中迭代器指向map中具有相应键的元素,而bool值则表示是否插入了该元素。
28.map< string,vector<int> >类型,参数类型为pair< const string,vector<int> >,返回值类型为pair< map< string,vector<int> > ::iterator,bool>。
29.set容器中的元素不能修改。
30.在使用关联容器时,它的键不但有一个类型,而且还有一个相关的比较函数。 所用的比较函数必须在键类型上定义严格弱排序(strict weak ordering)。所谓的严格弱排序可理解为键类型数据上的“小于”关系。当用于一个键与自身的比较时,肯定会导致 false 结果。如果它们相互之间都不存在“小于”关系,则容器将之视为相同的键。用做 map 对象的键时,可使用任意一个键值来访问相应的元素。
- C++Primer第6章学习笔记
- C++primer学习笔记 第7章
- 【C++primer学习笔记】第10章 关联容器
- C++ primer学习笔记 第10章
- 【C++Primer学习笔记】第3章 标准库类型
- 【C++Primer学习笔记】第4章 数组和指针
- c++primer 4 学习笔记--第7章
- 【C++primer学习笔记】第9章 顺序容器
- 【C++primer学习笔记】第11章 泛型算法
- C++primer学习笔记第一天
- C++primer plus第9-10章笔记
- C++Primer 第3章笔记整理
- C++Primer 第5章笔记整理
- C++Primer 第6章笔记整理
- C++Primer 第7章笔记整理
- 《c++primer》笔记 第1章 开始
- 《c++ primer》第10章 泛型算法 学习笔记
- c++ primer学习笔记 第 10 章 关联容器
- 马云清华毕业典礼演讲:30年来我只坚持三件事
- TI C64x+ DSP CACHE 一致性分析与维护
- 海量数据处理算法—Bloom Filter
- CodeForces 287B Pipeline
- 【Unity Shaders】Shader学习资源和Surface Shader概述
- C++ primer学习笔记 第10章
- db2import用法及删除大量数据高效方法
- Iceberg使用
- HTTP 和 HTTPS
- android—获取网络数据
- 怎样数字转换为字符串?
- 数转化为字符串
- yii初学之Yii 预定义的几个根别名
- 加密解密相关