1. ホーム
  2. c++

[解決済み] C++0xでハッシュ値を結合するには?

2023-01-24 21:14:45

質問

C++0xの追加 hash<...>(...) .

を見つけることができませんでした。 hash_combine 関数が見つかりませんでしたが ブースト . このようなものを実装する最もクリーンな方法は何でしょうか? おそらく、C++0x を使って xor_combine ?

どのように解決するのですか?

まあ、ブーストの連中がやったようにやればいいんだよ。

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);
}