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