为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C++
慕桂英546537 2019-10-17 15:35:54
C ++ 0x添加hash<...>(...)。但是我无法找到一个hash_combine功能,如boost所示。实现这样的最干净的方法是什么?也许,使用C ++ 0x xor_combine?
查看完整描述

3 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

好吧,就像助推器一样去做:


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

}


查看完整回答
反对 回复 2019-10-17
  • 3 回答
  • 0 关注
  • 668 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信