accessing c++ map

accessing c++ map

本文关键字:map c++ accessing      更新时间:2023-10-16

我正在尝试访问c++中的std:map中的键值

假设aObject是有效的Mymap有几个值

map<myObject,int> mymap;
myObject aObject;
int value = mymap[aObject];

我必须重新定义operator == myObject吗?

如果我不重新定义它会发生什么?

std::map要求您为键类型重载operator<,或者提供比较器。两者都必须实现严格的弱排序。如果您不提供这两者,您的程序将无法编译。如果你不正确地实现它们(即不是严格的弱排序),你会得到垃圾结果(我实际上不知道这是否是严格意义上的未定义行为)。