第 11 章 关联容器
第 11 章 关联容器 标签: C++Primer 学习记录 关联容器 第 11 章 关联容器 11.1 使用关联容器 11.2 关联容器概述 11.3 关联容器操作 11.4 无序容器 11.1 使用关联容器 标准库中定义了 8个关联容器,这些容器的不同体现在三个维度上。 或者是一个 set,或者是一个 map。 或者要求不重复的关键字,或者允许重复关键字,允许重复的容器的名字中都包含单词 multi。 或者按顺序保存元素或无序保存。不保持关键字按顺序存储的容器的名字都以 unordered开头。 11.2 关联容器概述 当初始化一个 map时,必须提供关键字类型和值类型。将每个关键字——值对包围在花括号中: {key, value} map<string, string> authors = { {"Joyce", "James"}, {"Austen", "Jane"} }; map或 set中的关键字必须是唯一的,用含有重复元素的容器的迭代器来初始化 map或set,得到的结果中对于重复元素也只会有一份拷贝。 对于有序容器,关键字类型必须定义元素比较的方法。默认情况下,标准库使用 < 运算符来比较两个关键字。当然,也可以使用自定义的操作来比较两个关键字。此时必须在定义关联容器类型时就提供此操作的类型。 bool compare(const A &lhs, const A