覆盖 std::hash<std::string> 以使用 Google 的城市哈希
Override std::hash<std::string> to use Google's City Hash
所以,很简单的问题,因为我有一个脑死亡的时刻…我如何覆盖/替换std::hash<std::string>
使用谷歌的城市哈希?
我目前的方法是在std::string
周围有一个包装器,然后专门针对std::hash<>
。但是这是痛苦的,因为我必须实现几乎与std::string
相同的接口,我想避免这种情况。
您不能替换任何现有的专门化,即您不能替换std::hash<std::string>
。但是,可以在std::unordered_*
容器中使用不同的哈希函数对象,例如:
std::unordered_map<std::string, T, my_hash> hash_map;
相关文章:
- 使用std::multimap迭代器创建std::list
- C++中std::resize(n)和std::shrink_to_fit之间的区别
- 来自 std::list 的迭代器 .end() 按预期返回"0xcdcdcdcdcdcdcdcd"但 .begin()
- 如何使用Google Mock来模拟gettimeofday()
- C++17复制构造函数,在std::unordereded_map上进行深度复制
- 如何导出包含具有"std::unique_ptr"值的"std::map"属性的
- 从持续时间构造std::chrono::system_clock::time_point
- std::具有相同基类的类的变体
- std::向量与传递值的动态数组
- 使用std::vector的OpenCL矩阵乘法
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- std::condition_variable::wait()如何评估给定的谓词
- 如何获取std::result_of函数的返回类型
- google test PrintTo for std::set<std::string>
- 初始化有关Google C 样式指南的静态字符串(C-Type或STD :: String)
- Google的protobuf版本是用-std=c++98或-std=c++03构建的?
- 将文件的二进制内容推送到 std::string 以用于 Google 的 Snappy
- Google协议缓冲区和std::字符串用于任意二进制数据
- 覆盖 std::hash<std::string> 以使用 Google 的城市哈希
- google::dense_hash_map vs std::tr1::unordered_map?