C++ 自己在标准::列表中的比较

C++ Own comparison in std::list

本文关键字:比较 列表 C++ 标准 自己      更新时间:2023-10-16

我的程序和列表有一些结构。它是这样的:

struct person{
    string name;
    char relation;
    string child;
}
typedef std::list < person > listP;
listP MyList;

我想使用 std::list::sort()person.name对这个列表进行排序,但我不知道如何处理它。我试图找到如何使用 STL 自定义比较,但现在对我来说没什么奇怪的,所以请解释一下这个人性化:P

list::sort需要一个谓词函数对象。

您可以尝试:

std::list<person> people;
// Add some people...
people.sort([](const person &left, const person &right)
{
    return left.name < right.name;
});

另请参阅:

对自定义类型的列表进行排序