4

新的 C++20 宇宙飞船运算符是否允许以简洁的方式表达短路的多标准比较?比这更好的东西:

const firstCriteriaComparisonResult = lhs.x <=> rhs.x;
return firstCriteriaComparisonResult != 0 ? firstCriteriaComparisonResult : lhs.y <=> rhs.y;
4

1 回答 1

7

通常的tie-and-compare 方法也适用于 spaceship:

return std::tie(lhs.x, lhs.y) <=> std::tie(rhs.x, rhs.y);
于 2021-05-18T04:51:13.503 回答