独自のクラスに比較演算子==を実装する時、クラス内に定義するのとグローバルで定義するのとでは、実装の仕方以外に違いがあるのでしょうか?

また、例えば独自クラスとintの比較演算子==を実装する場合は、左辺にintがある場合と右辺にintがある場合の二つを用意する必要があるのでしょうか

ちなみに使用しているのはC++11です