2

是否有理由 std::tr1::unordered_map 遗漏了 std::map 存在的相等(==)运算符?

什么是实现这一点的好方法?我正在考虑创建两组 unordered_map::value_type,从两个 hash_map 初始化它们,然后检查两组的相等性。

4

1 回答 1

6

这是一个委员会的决定,恕我直言是一个错误。它已针对 std::unordered_map (在C++11中)进行了更正。

使用std::equal不是找到无序容器相等性的好方法。毕竟,它们的顺序可能不同。

N3068是介绍无序容器的相等比较的论文。它解释了确定平等的动机和技术。

于 2011-04-19T21:07:39.340 回答