Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要一个使用 64 位作为哈希的哈希表。
为了更清楚,unordered_set接收一个模板参数Hash,它是一个函子,它接受一个类型的参数Key并返回一个 32 位无符号整数。
unordered_set
Hash
Key
我需要类似的东西,只是它应该接受一个模板参数Hash,它是一个函子,它接受一个类型的参数Key并返回一个 64 位无符号整数。
有谁知道这样的容器(最好在像 STL 这样的仅标头库上)?
这是一个流行的字符串哈希函数
size_t hash( const char * string ) { size_t result = 0; while( *string != 0 ) { result = result * 31 + *string++; } return result; }
编造新的散列函数对于计算机人来说是过去很流行的时间,所以我并不是说这是最好的。但关键是结果类型不需要更大来处理更大的字符串。