这一章介绍了标准库中的关联容器们,主要是11.3的对有序关联容器操作的介绍。这章比较短,也只是比较工具性的东西,快速浏览即可。下一章就是C++的重要运用:动态内存管理。
11.1 使用关联容器
11.2 关联容器概述
// map的列表构造 map<int, string > test= { {1, "A"}, { 2,"B" }};
bool isSmaller(const int& a, const string& b) {
return a < b.size();
}
int main() {
// 提供函数指针进行比较
map<int, string, decltype(isSmaller)*> test = { {1, "A"}, { 2,"B" } };
return 0;
}
11.3 关联容器操作
11.4 无序容器
size_t hasher(string in) {
return hash<int>()(in.size());
}
bool isEqual(const string& a, const string& b) {
return a.size()==b.size();
}
int main() {
// 自定义了string的无序容器
// 用上面的两个函数使用string的长度重载int版本的hash生成新的hash值,并用长度进行比较
unordered_set<string, decltype(hasher)*, decltype(isEqual)*> test;
return 0;
}