C++0x 添加 hash<...>(...)

但是,我找不到 hash_combine 函数,如 boost 中所示。实现这样的事情的最干净的方法是什么?也许,使用 C++0x xor_combine

最佳答案

好吧,就像 boost 人那样做:

template <class T>
inline void hash_combine(std::size_t& seed, const T& v)
{
    std::hash<T> hasher;
    seed ^= hasher(v) + 0x9e3779b9 + (seed<<6) + (seed>>2);
}

关于c++ - 如何在 C++0x 中组合哈希值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2590677/

10-12 21:33