struct mycompare{ //写一个仿函数
bool operator()(MyKey key1, MyKey key2){
return key1.mIndex > key2.mIndex;
}
};
void test02(){
map<MyKey, int, mycompare> mymap; //自动排序,自定数据类型,咋排?
mymap.insert(make_pair(MyKey(1, 2), 10));
mymap.insert(make_pair(MyKey(4, 5), 20));
for (map<MyKey, int, mycompare>::iterator it = mymap.begin(); it != mymap.end();it ++){
cout << it->first.mIndex << ":" << it->first.mID << " = " << it->second << endl;
}
}
map中插入自定义类型的key
最新推荐文章于 2024-03-05 12:57:48 发布
本文展示了如何在C++中创建一个仿函数`mycompare`,用于自定义`map`中元素的排序方式。示例中,`mycompare`比较`MyKey`对象的`mIndex`成员,实现降序排列。然后通过`make_pair`插入`MyKey`和整数对,并遍历输出排序后的`map`内容,强调了自定义数据结构在C++容器中的应用。
摘要由CSDN通过智能技术生成