如何反转 strong_ordering?
How do you reverse a strong_ordering?
有没有更简单的方法来实现这个功能的效果?
strong_ordering reverse(strong_ordering v) {
if (v > 0)
return strong_ordering::less;
else if (v < 0)
return strong_ordering::greater;
else
return v;
}
是的:
strong_ordering reverse(strong_ordering v)
{
return 0 <=> v;
}
即literally specified as what you want:
Returns: v < 0 ? strong_ordering::greater : v > 0 ? strong_ordering::less : v
.
这里遵循了x <=> y
和y <=> x
是相反的一般原则,v <=> 0
只是v
的恒等运算。
有没有更简单的方法来实现这个功能的效果?
strong_ordering reverse(strong_ordering v) {
if (v > 0)
return strong_ordering::less;
else if (v < 0)
return strong_ordering::greater;
else
return v;
}
是的:
strong_ordering reverse(strong_ordering v)
{
return 0 <=> v;
}
即literally specified as what you want:
Returns:
v < 0 ? strong_ordering::greater : v > 0 ? strong_ordering::less : v
.
这里遵循了x <=> y
和y <=> x
是相反的一般原则,v <=> 0
只是v
的恒等运算。