我需要一个使用64位作为哈希的哈希表。
为了更清楚,unordered_set
接收模板参数Hash
,它是一个带有Key
类型参数并返回32位无符号整数的仿函数。
我需要类似的东西,只需要一个模板参数Hash
,它是一个带有Key
类型参数并返回64位无符号整数的仿函数。
有没有人知道这样的容器(在STL这样的标题库上是否可以)?
答案 0 :(得分:0)
这是一个流行的字符串哈希函数
size_t hash( const char * string )
{
size_t result = 0;
while( *string != 0 ) {
result = result * 31 + *string++;
}
return result;
}
制作新的哈希函数对于计算机人来说是一个流行的过去时间,所以我并不是说这是最好的。 但重点是结果类型不需要更大来处理更大的字符串。