+1 за различие между функциями-членами и функциями, не являющимися членами, а не функциями-членами и друзьями. Думаю, сегодня мы бы сказали «глобальная область или область имен».

читал, что перегруженный оператор объявлен как функция-членасимметричный потому что он может иметь только один параметр, а другой параметр, передаваемый автоматически, являетсяthis указатель. Таким образом, не существует стандарта для их сравнения. С другой стороны, перегруженный оператор объявлен какfriend являетсясимметричный потому что мы передаем два аргумента одного типа и, следовательно, их можно сравнить.

Мой вопрос заключается в том, что, когда я все еще могу сравнить значение l указателя со ссылкой, почему друзья предпочитают? (использование асимметричной версии дает те же результаты, что и симметричные). Почему алгоритмы STL используют только симметричные версии?

Ответы на вопрос(2)

Ваш ответ на вопрос