C 0x のハッシュ値の組み合わせ
C 0x では、ハッシュの追加<...>(...) が導入されます。ハッシュ値を操作するための貴重なツールです。ただし、Boost で提供されるものと同様の hash_combine 関数がないため、プログラマは代替アプローチを模索することになります。この記事では、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); }
この関数は std::hash
以上がC 0x のハッシュ値を効果的に組み合わせるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。