Почему перегрузка -> и возврат указателя не требуют повторного разыменования? [дубликат]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Почему перегрузка -> и возврат указателя не требуют повторного разыменования? [дубликат]

Сообщение Anonymous »

Вот MRE, где я пытаюсь реализовать unique_ptr:

Код: Выделить всё

#include 

class Entity
{
public:
void Print()
{
std::cout ()
{
std::cout Print();
}
Не могу понять, почему

Код: Выделить всё

entity->Print();
работает.
Для меня

Код: Выделить всё

entity->
возвращает сущность*
Итак, чтобы вызвать метод Print для этого указателя, мне понадобится еще одна стрелка.
По сути, почему мне не нужно писать

Код: Выделить всё

(entity->)->Print();
Очевидно, что:

Код: Выделить всё

entity.operator->().Print();
не работает, значит, происходит что-то еще?

Подробнее здесь: https://stackoverflow.com/questions/798 ... referencin
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»