元组如何自动排序?

时间:2014-05-06 03:01:54

标签: c++

student a = make_tuple(1, "Adam");
student b = make_tuple(3, "Josh");
vect.push_back(a);
vect.push_back(b);
vect.push_back(make_tuple(2, "Daniel"));
sort(vect.begin(), vect.end());

在排序之前,它们在向量中按顺序1,3,2。排序后它们按顺序1,2,3排序。我没有定义比较器,排序是内置方法,没有回调函数。它是如何知道如何按元组的整数参数排序的?排序是否构建为元组?

1 个答案:

答案 0 :(得分:2)

元组具有预定义的比较运算符。他们表现得像你期望的那样;根据标准(C ++11§20.4.2.7/ 5),元组的operator<返回“词典比较的结果”。