【发布时间】:2016-12-15 17:07:44
【问题描述】:
这会产生编译器错误
unordered_map<pair<int,int>,int> umap;
我了解必须提供哈希函数才能使其工作。
但是
map<pair<int,int>,int> omap;
无需任何散列函数即可完美运行。
为什么会这样?
【问题讨论】:
-
它产生了什么编译器错误?
标签: c++ c++14 unordered-map
这会产生编译器错误
unordered_map<pair<int,int>,int> umap;
我了解必须提供哈希函数才能使其工作。
但是
map<pair<int,int>,int> omap;
无需任何散列函数即可完美运行。
为什么会这样?
【问题讨论】:
标签: c++ c++14 unordered-map
std::map 不使用散列函数。相反,它的“使用比较函数对键进行排序......”其中“搜索、删除和插入操作具有对数复杂度。”。查找是通过遍历搜索树而不是通过散列来完成的。
【讨论】: