Я читав, що перевантажений оператор, оголошений як функція-член, є асиметричним, оскільки він може мати лише один параметр, а інший параметр, переданий автоматично, - це this
покажчик. Тож не існує стандартів для їх порівняння. З іншого боку, перевантажений оператор, оголошений як a, friend
є симетричним, оскільки ми передаємо два аргументи одного типу і, отже, їх можна порівняти.
Моє запитання полягає в тому, що коли я ще можу порівняти значення значення вказівника з посиланням, чому друзі віддають перевагу? (використання асиметричної версії дає ті ж результати, що і симетричні) Чому алгоритми STL використовують лише симетричні версії?