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
我的程序中有一些结构和它们的列表。 是这样的:
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