所以我一直在阅读很多关于使用std::hash
及其标准实现的文章、文档页面、帖子、基准测试等。
概要
看这里,它似乎std::hash
总是会返回一个std::size_t
,从这里开始,它的大小至少为16 位或 2 个字节,尽管它取决于实现。
但这让我很担心。std::hash
如果我什至不能保证哈希至少为 32 位(我真的希望它返回 64 位),那么我该如何在字符串上使用。
在我的特定 x64 机器std::size_t
上定义为long unsigned int
,但显然在我部署我的程序时不能保证。
问题
有没有办法解决这个问题,所以我可以肯定地知道我得到了一个 64 位的哈希返回std::hash
?
结论
从评论来看,std::hash
不适合。谢谢!