Почему оператор-> может быть перегружен вручную?

Разве это не имеет смысла, еслиp->m был просто синтаксический сахар для(*p).m? По сути, каждыйoperator-> то, что я когда-либо писал, могло быть реализовано следующим образом:

Foo::Foo* operator->()
{
    return &**this;
}

Есть ли такой случай, когда я бы хотелp->m иметь в виду что-то еще, чем(*p).m?

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

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