我已經看到了,如果您有operator<
,則可以執行operator>=
作爲!(a < b)
。但是,當我去布裏斯托爾的C++委員會時,他們說你可以用這種方式實現所有的比較運算符。特別是,當考慮具有非平凡比較運算符的類型(考慮任意長的字符串,特別是如果這是Unicode)時,只需要對operator<
進行一次調用即可完成。我無法想象如何做到這一點。按照運算符<在一次調用中實現其他比較運算符
我如何實現operator>
和operator<=
只需一個電話到operator<
,沒有其他比較操作?
我不確定只是'<'但是['std :: rel_ops'](http://en.cppreference.com/w/cpp/utility/rel_ops/operator_cmp)可以用'=='和'<'' –
和你自己的例子一樣:'a> b'等於'!(a == b || a usr2564301
這也涉及到對operator ==的調用,這顯然比自定義運算符的性能要差一些。 – Puppy