在 C++ 语言中,std::hash<T>
对于最简单的类型,如std::string
、int
等,有默认的哈希函数模板。我想,这些函数具有良好的熵,并且相应的随机变量分布在统计上是均匀的。如果不是,那么让我们假装它是。
然后,我有一个结构:
struct CustomType {
int field1;
short field2;
string field3;
// ...
};
我想对它进行散列,使用其中一些字段的单独散列,比如std::hash(field1)
和std::hash(field2)
. 两个哈希都在 type 的一组可能值中size_t
。
什么是一个好的散列函数,它可以结合这两个结果并将它们映射回size_t
?