C++ c++;STL映射::查找()

C++ c++;STL映射::查找(),c++,stl,map,C++,Stl,Map,我使用自己的类作为std::map的键类型。地图实现如何确定两个对象何时相等 我知道我可以确定操作符

我使用自己的类作为std::map的键类型。地图实现如何确定两个对象何时相等


我知道我可以确定操作符<或Comp类型来排列元素。但是我找不到任何关于相等的东西。

可以使用
操作符进行比较std::map
类实际上并不确定对象是否相等!它所关心的只是两个对象是否属于它使用的同一个等价类

Comp comp;
if (!comp(a, b) && !comp(b, a)) {
    // a and b are in the same equivalence class
}

Compo
的默认定义是
std::less
,也就是说,该类将等价性确定为两个对象都不小于另一个对象。

@chris这是一个答案,不是注释:)啊,我忘了选择比较。这总是一件好事。
Comp comp;
if (!comp(a, b) && !comp(b, a)) {
    // a and b are in the same equivalence class
}