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