元组是如何自动排序的

How do tuples get automatically sorted?

本文关键字:排序 何自动 元组      更新时间:2023-10-16
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。我没有定义比较器,排序是没有回调函数的内置方法。它如何知道如何按元组的整型参数排序?排序是否内置在元组中?

元组具有预定义的比较操作符。他们的行为和你期望的一样;根据标准(c++ 11§20.4.2.7/5),元组的operator<返回"字典顺序比较的结果"。