1、map的其中一个构造函数有第三个参数,可以直接定义map的key值得排序规则,
默认为std::less,即按“<”运算符进行排序
map
等价于:
map
2、如果想把key值按从大到小的顺序排序,改为:
map
3、使用比较函数也可以
bool compFunc(const string& a, const string& b)
{
return a.compare(b) > 0;
}
map
4、使用lambda表达式
auto fc = [](const string& str1, const string& str2) {return str1.compare(str2) > 0; };
map
5、如果key的类型是自定义的类或结构体,可以重写“<运算符”
class A{ ... bool operator <(const A& d) { return count > d.count; } int count; } map int> mapA; //关键字将会从大向小排列