В С++ есть 4 оператора, которые могут быть перегружены, но не могут быть перегружены как автономные (ака несимвольные, автономные) функции. Этими операторами являются:
-
operator =
-
operator ()
-
operator ->
-
operator []
Этот поток прекрасно объясняет, почему запрет operator =
быть несимметричной функцией. Любые идеи о трех других?