发布代码的背景: PayRoll是类的名称。 personSalary是一个双类型变量,personAge是一个整型变量。给出的代码是按年龄或薪水排列列表。无法解释此C++代码
struct less_than_salary
{
inline bool operator() (const PayRoll& struct1, const PayRoll& struct2)
{
return (struct1.personSalary < struct2.personSalary);
}
};
struct less_than_age
{
inline bool operator() (const PayRoll& struct1, const PayRoll& struct2)
{
return (struct1.personAge < struct2.personAge);
}
};
我想了解一下这部分给定代码的一些帮助。我试着读结构用于和据我所知,它基本上是作为一个类来操作,并允许您一次处理多种类型的变量。如果我错了,在这种情况下用到的结构究竟是什么? 另外,如果有人解释“inline bool operator()”在做什么,我会很感激,因为我之前从未见过这样的内容,而且通过阅读教科书我无法理解。 谢谢你的帮助!
尝试google搜索 “函子”。 –
你的意思是你不懂操作符重载的概念吗? 'operator()'允许类的一个实例对一个* function-call *操作符做出反应。 – jxh
是的,这是我的问题,我很难理解操作符重载。 – ss1111