仿函数 本身是一个类;
仿函数 是对小括号的 重载
仿函数 返回的是bool 类型
仿函数 主要const的使用
//自定义数据类型 都会指定排序规则 可以利用仿函数
class comparePerson
{
public:
bool operator()(const Person& p1, const Person& p2)const
{
//按照年龄 降序
return p1.m_Age < p2.m_Age;
}
};
void test01()
{
//自定义数据类型 都会指定排序规则
set<Person, comparePerson>s;
//创建Person对象
Person p1("刘备", 24);
Person p2("关羽", 28);
Person p3("张飞", 25);
Person p4("赵云", 21);
s.insert(p1);
s.insert(p2);
s.insert(p3);
s.insert(p4);
for (set<Person, comparePerson>::iterator it = s.begin(); it != s.end(); it++)
{
cout << "姓名: " << it->m_Name << " 年龄: " << it->m_Age << endl;
}
}