Почему перегрузка -> и возврат указателя не требуют повторного разыменования? [дубликат]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

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