nul*_*ptr 9 c++ spaceship-operator c++20
有没有更简单的方法来实现这个功能的效果?
strong_ordering reverse(strong_ordering v) {
if (v > 0)
return strong_ordering::less;
else if (v < 0)
return strong_ordering::greater;
else
return v;
}
Run Code Online (Sandbox Code Playgroud)
Bar*_*rry 11
是的:
strong_ordering reverse(strong_ordering v)
{
return 0 <=> v;
}
Run Code Online (Sandbox Code Playgroud)
这是字面上指定为你想要什么:
返回:
v < 0 ? strong_ordering?::?greater : v > 0 ? strong_ordering?::?less : v。
这遵循x <=> y和y <=> x是对立的一般原则,并且v <=> 0只是 的恒等运算v。