有没有更简单的方法来实现这个函数的效果?
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) {
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;
}
иҝҷжҳҜеӯ—йқўдёҠжҢҮе®ҡзҡ„дҪ жғіиҰҒзҡ„пјҡ
иҝ”еӣһеҖјпјҡ
v < 0 ? strong_ВӯorderingвҖӢ::вҖӢgreater : v > 0 ? strong_ВӯorderingвҖӢ::вҖӢless : v
гҖӮ
иҝҷйҒөеҫӘдәҶдёҖдёӘйҖҡз”ЁеҺҹеҲҷпјҢеҚіx <=> y
е’Ңy <=> x
жҳҜзӣёеҸҚзҡ„пјҢиҖҢv <=> 0
еҸӘжҳҜеҜ№дәҺv
иҝӣиЎҢиә«д»Ҫж“ҚдҪңгҖӮ
strong_ordering
不能与自身进行<=>
操作,只能与0
进行操作。 - Barrystrong_ordering
没有强排序? - T.C.<=>
的支持是非常近期的。但正如我之前展示的那样,clang 和 gcc 的 trunk 现在都支持这个功能(但尚未有官方发布版本支持)。 - Barry