std::hash
const std::string
怎么不存在?
#include <string>
#include <functional>
int main() {
std::hash<std::string> hasher1; // works
std::hash<const std::string> hasher2; // does not work
}
正如所料,我可以在哈希映射中使用常规std::string
专门化:
#include <string>
#include <functional>
#include <unordered_map>
int main() {
std::unordered_map<const std::string, int, std::hash<std::string>> a;
}
我觉得有一个更好的理由而不是&#34;嗯,他们只是没有这样做&#34;对const专业化缺失。它是什么?