C++ 覆盖std::hash<;标准::字符串>;使用谷歌&x27;s市哈希

C++ 覆盖std::hash<;标准::字符串>;使用谷歌&x27;s市哈希,c++,c++11,hash,stdhash,C++,C++11,Hash,Stdhash,所以,这个问题很简单,因为我有一个脑死亡的时刻。。如何覆盖/替换std::hash以使用谷歌的城市哈希 我目前的方法是在std::string周围有一个包装器,然后专门化std::hash。但这很痛苦,因为我必须实现与std::string几乎相同的接口,我希望避免这种情况。您不能替换任何现有的专门化,即,您不能替换std::hash。但是,您可以对std::unordered.*容器使用不同的哈希函数对象,例如: std::unordered_map<std::string, T, my

所以,这个问题很简单,因为我有一个脑死亡的时刻。。如何覆盖/替换
std::hash
以使用谷歌的城市哈希


我目前的方法是在
std::string
周围有一个包装器,然后专门化
std::hash
。但这很痛苦,因为我必须实现与
std::string
几乎相同的接口,我希望避免这种情况。

您不能替换任何现有的专门化,即,您不能替换
std::hash
。但是,您可以对
std::unordered.*
容器使用不同的哈希函数对象,例如:

std::unordered_map<std::string, T, my_hash> hash_map;
std::无序映射散列映射;