equal_to <key> boost :: unordered multimap </key>

时间:2014-07-22 15:17:49

标签: c++ boost boost-unordered

boost :: unordered_multimap中equal_to<Key>函数的用途是什么?

在文档中,它说的是确定两个键是否相同,但对我来说并不完全清楚。

我的猜测是使用带有输入键 K 的函数equal_range,它将检索在相应存储桶中编入索引的对键值但根据equal_to<key>函数,其键与 K 相同。

如果我错了,请纠正我。

1 个答案:

答案 0 :(得分:1)

typename Hash = boost::hash<Key>模板参数用于散列密钥以将条目分发到散列表中。但是,多个键可能具有相同的哈希值(冲突)。这就是为什么你还需要typename Pred = std::equal_to<Key>:在密钥散列到相同值的所有条目中找到匹配密钥(如果有的话)。