boost::hash_combine模板函数引用一个散列(称为seed )和一个对象v 。 根据文档 ,它结合了seed和v的散列 seed ^= hash_value(v) + 0x9e3779b9 + (seed << 6) + (seed >> 2); 我可以看到这是确定性的。 我明白为什么使用XOR。 我敢打赌,除了有助于将相似的值映射到很远的地方之外,所以探测哈希表不会中断,但是有人能解释一下这个魔术常量是什么吗?