std::tr1::unordered_map 中的 C++ 相等性

标签 c++ equality unordered-map

std::tr1::unordered_map 是否有省略等号 (==) 运算符的原因, std::map 存在哪个?

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

最佳答案

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

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

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

关于std::tr1::unordered_map 中的 C++ 相等性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5722494/

相关文章:

c++ - 如果第二个属性未进行大括号初始化,则与大括号初始化程序编译成对缩小转换

java - 传递关系 : What is x. equals(z) 当 x.equals(y) 为假且 y.equals(z) 为真时

java - 当两个对象相同时,为什么 equals() 方法返回 false?

c++ - 计算 unordered_map 范围内的出现次数

c++ - 构建以元组为键的无序映射

c++ - 无递归初始化

c++ - NULL 指针比较失败

c++ - 在 world.iprobe 上 boost MPI 崩溃

swift - 重载相等运算符 (==) 来比较 String 和 Int

c++ - 计算映射结构的散列