以整数作为键的哈希表

时间:2011-06-29 20:01:39

标签: c++ boost

哈希函数将Key转换为整数哈希值,是否可以将整数作为键?

使用boost :: hash函数似乎我得到了哈希值相同的整数...所以我有点麻烦

2 个答案:

答案 0 :(得分:5)

使用不会有问题的整数,是吗?相等的输入值将产生相同的哈希值,并且不同的输入值产生不同的哈希值。这是完美的哈希函数!

答案 1 :(得分:4)

如果您查找基本类型的std::hash的实际实现(例如在functional_hash.h或类似的东西中),您会看到对于大多数整数类型而言,它只是身份功能!由于哈希函数纯粹是为了数学而不是用于加密目的,因此不要求它是范围的“随机”映射,因此身份确实非常合适。