boost :: unordered_multimap中equal_to<Key>
函数的用途是什么?
在文档中,它说的是确定两个键是否相同,但对我来说并不完全清楚。
我的猜测是使用带有输入键 K 的函数equal_range
,它将检索在相应存储桶中编入索引的对键值但根据equal_to<key>
函数,其键与 K 相同。
如果我错了,请纠正我。
答案 0 :(得分:1)
typename Hash = boost::hash<Key>
模板参数用于散列密钥以将条目分发到散列表中。但是,多个键可能具有相同的哈希值(冲突)。这就是为什么你还需要typename Pred = std::equal_to<Key>
:在密钥散列到相同值的所有条目中找到匹配密钥(如果有的话)。