第十一章:关联容器
笔记
1. 关联容器和顺序容器有着根本的不同:关联容器中的元素是按关键字来保存和访问的。与之相对,顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的。
2. 关联容器支持高效的关键字查找和访问,两个主要的关联容器类型是map和set。map中的元素是一些关键字-值对;关键字起到索引的作用,值则表示与索引相关联的数据。set中每个元素只包含一个关键字;set支持高效的关键字查询操作——检查一个给定关键字是否在set中。
3. 当从map中提取一个元素时,会得到一个pair类型的对象。pair是一个模板类型,保存两个名为first和second的共有数据成员。
4. 新标准定义了4个无序关联容器。这些容器不是使用比较运算符来组织元素,而是使用一个哈希函数(hash function)和关键字类型的==运算符。
5. 无序容器在存储上组织为一组桶,每个桶保存零个或多个元素。无序容器的性能依赖于哈希函数的质量和桶的数量和大小。
术语
关联容器(associative container)、哈希函数(hash function)、严格弱序(strict weak ordering)