【发布时间】:2019-10-03 07:44:20
【问题描述】:
我想计算一个整体的unordered_map
数据结构的哈希值。这样可以轻松比较两个 map
s 是否包含完全相同的键值对。
显然,可以遍历包含的对,然后构建一个长字符串并对其进行哈希处理,但我可以想象有更好的方法来做到这一点。
目前,实际的哈希函数并不那么重要。我认为md5
可以。 sha
当然也是。
有什么建议吗?
【问题讨论】:
-
我建议将所有键和所有值的哈希值组合在一起。理想情况下,允许您在添加/删除/更新地图条目时更新地图的哈希值。请注意,哈希的相等性并不能保证地图内容的相等性,但它仍然可以让您快速找出这些内容是否不同。
-
是的,你当然是对的。我没有提到哈希冲突。
标签: c++ c++11 stl unordered-map