Я знаю, что это глупо, и заголовок, вероятно, не является ответом. Я всегда думал о this
как об указателе на текущий объект, который предоставляется при каждом вызове метода из объекта (который не является статическим методом)
но глядя на то, что на самом деле возвращает мой код, например:
Test& Test::func ()
{
// Some processing
return *this;
}
возвращается разыменование this
... и возвращаемый тип является ссылкой на объект.... так что же это делает this
? Есть ли что-то под капотом, что я не понимаю?
this
в C++ — это указатель на сам экземпляр объекта. Разыменование дает объект. Возврат объекта по ссылке формирует ссылку (псевдоним) на объект, и это то, что возвращается. - person Jesper Juhl   schedule 11.12.2019self
, то естьTest&
. Но к тому времени, когда были добавлены ссылки, эти отправления уже отплыли, иthis
прочно укоренился, и на него полагались десятки, если не сотни, пользователей. - person Eljay   schedule 11.12.2019