std::list 中的 C++ 自己的比较

C++ Own comparison in std::list

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

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;
});

另请参阅:

Sorting a list of a custom type