映射可以包含类对象还是类对象?
我认为键应该是一个内置的主类型,它的相关数据值可以是一个类或类对象。
例如,
stl::map<int , myClass> myMap;
myMap.insert(pair<int , myClass>);
键有可能是一个自定义类吗?
stl::map<myClass , int> myMap;
如果是,如何对密钥进行排序?
感谢
是。map
的键可以是任何具有默认构造函数、支持复制和比较的键。默认情况下,map
将关键字与std::less
比较器进行比较,后者调用operator <
。因此,如果为类定义operator <
,或为映射提供自定义比较类,则可以将其与map
、set
等一起使用。