如何在C ++ 0x中组合哈希值?

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


但是我无法找到一个hash_combine功能,如boost所示。实现这样的最干净的方法是什么?也许,使用C ++ 0x xor_combine?


慕桂英546537
浏览 678回答 3
3回答

守着一只汪

好吧,就像助推器一样去做:template <class T>inline void hash_combine(std::size_t& seed, const T& v){&nbsp; &nbsp; std::hash<T> hasher;&nbsp; &nbsp; seed ^= hasher(v) + 0x9e3779b9 + (seed<<6) + (seed>>2);}
打开App,查看更多内容
随时随地看视频慕课网APP