Описание тега this-pointer
Несколько объектов одного класса имеют в себе идентичные члены данных. Всякий раз, когда функция вызывается для объекта, изменяются только элементы данных этого конкретного объекта. Компилятор знает, к каким элементам данных объекта обращаться и изменять их, используя специальный указатель, известный какthis
указатель, который хранит адрес объекта в памяти.
Каждый раз, когда функция вызывается для объекта, компилятор автоматически создает this
указатель и отправляет его в функцию. Из-за этого нет необходимости явно объявлять или передаватьthis
к функции.
this
является ключевым словом на языке C++ и используется вместе с оператором-стрелкой ->
при использовании внутри класса для доступа к его элементам данных и функциям.
void myClass::myFunction()
{
this->myVariable = 10;
}
Что эквивалентно:
void myClass::myFunction()
{
myVariable = 10;
}
Иногда сам объект возвращается с помощью this
указатель:
void myClass::myFunction()
{
...
return (*this);
}