Ayu*_*wal 1 c++ stl operator-overloading
我创建了一个包含两个long long int类型变量的结构,比如说x和y.
我能够sort()通过重载<运算符并基于任何一个变量进行排序来使用STL .
struct point
{
long long int x, y;
};
bool compare(point lhs, point rhs)
{
return lhs.x < rhs.x;
}
sort(point, point + t, compare);
Run Code Online (Sandbox Code Playgroud)
我想要做的是基于的结构排序x,但是当两个桶具有相同的值时,应该首先放置x具有较小y值的桶.我怎样才能做到这一点?
比较的元组x和y:
bool compare(point lhs, point rhs)
{
return std::tie(lhs.x, lhs.y) < std::tie(rhs.x, rhs.y);
}
Run Code Online (Sandbox Code Playgroud)
这完全符合你的要求.
参考页面std::tie甚至得到了一个与您正在做的事情基本相同的示例.
| 归档时间: |
|
| 查看次数: |
71 次 |
| 最近记录: |