Я понимаю большинство перегрузок операторов, за исключением операторов доступа членов ->
, .*
, ->*
и т.д.
В частности, что передается этим операторным функциям и что нужно вернуть?
Как функция оператора (например, operator->(...)
) знает, к какому члену относятся? Может ли это знать? Нужно ли это знать?
Наконец, существуют ли какие-либо соображения, которые необходимо учитывать? Например, при перегрузке чего-то вроде operator[]
, как правило, вам понадобятся как константная, так и неконстантная версия. Операторы доступа к члену требуют константных и неконстантных версий?