我试图理解在sort()运算符中使用lambda函数.有一个存储类型对象的向量person; sort()函数用于迭代向量person并基于类成员对其进行排序id.
我不明白为什么sort函数中使用的lambda函数需要两个输入,即.p1和p2?,为什么不输入一个对象p1?我总是认为stl函数如sort()和max_element()将迭代器返回到一个元素.
class Person
{
private:
string firstName;
string lastName;
int id;
public:
Person(const string& fn, const string& ln, int i)
: firstName(fn), lastName(ln), id(i) { }
const string& getFirstName() const { return firstName; }
const string& getLastName() const { return lastName; }
int getID() const { return id; }
};
main(){
vector<Person> people;
people.push_back(Person("Davor", "Loayza", 62341));
people.push_back(Person("Eva", "Lopez", 12345)); …Run Code Online (Sandbox Code Playgroud)