C++ 飞船运算符多级比较?
C++ spaceship operator multilevel compare?
新的 C++20 宇宙飞船运算符是否允许简洁 表达短路多标准比较的方式?比这更好的东西:
const firstCriteriaComparisonResult = lhs.x <=> rhs.x;
return firstCriteriaComparisonResult != 0 ? firstCriteriaComparisonResult : lhs.y <=> rhs.y;
通常的 tie
比较方法也适用于宇宙飞船:
return std::tie(lhs.x, lhs.y) <=> std::tie(rhs.x, rhs.y);
新的 C++20 宇宙飞船运算符是否允许简洁 表达短路多标准比较的方式?比这更好的东西:
const firstCriteriaComparisonResult = lhs.x <=> rhs.x;
return firstCriteriaComparisonResult != 0 ? firstCriteriaComparisonResult : lhs.y <=> rhs.y;
通常的 tie
比较方法也适用于宇宙飞船:
return std::tie(lhs.x, lhs.y) <=> std::tie(rhs.x, rhs.y);