メンバー関数として宣言されたオーバーロードされた演算子は、1つのパラメーターしか持てず、他のパラメーターが自動的に渡されるため、非対称this
であると読みました。したがって、それらを比較するための標準は存在しません。一方、aとして宣言されたオーバーロードされた演算子はfriend
、同じ型の2つの引数を渡すため、対称であり、したがって、それらを比較できます。
私の質問は、ポインタの左辺値を参照と比較できるのに、なぜ友達が好まれるのかということです。(非対称バージョンを使用すると、対称バージョンと同じ結果が得られます)STLアルゴリズムが対称バージョンのみを使用するのはなぜですか?