为什么std :: hash不能用于const字符串?

时间:2017-07-07 13:24:20

标签: c++ hash c++17

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专业化缺失。它是什么?

0 个答案:

没有答案