this указатель — это специальный указатель, который автоматически доступен внутри нестатических функций-членов класса, структуры или объединения. Он содержит адрес объекта, на котором была вызвана функция-член.
Когда ты вызываешь функцию-член для объекта, компилятор передаёт адрес объекта как скрытый аргумент. Например:
myDate.setMonth(3);
автоматически преобразуется в:
setMonth(&myDate, 3);
Указатель this даёт тебе доступ к этому адресу объекта изнутри функции-члена.
this, так как они не привязаны к конкретным экземплярам объектовthis — это константный указатель на тип объектаthisХотя необязательно явно использовать this при обращении к членам класса, это становится необходимым в ряде ситуаций:
return *this;class Date {
void setMonth(int month) {
this->month = month; // явно (необязательно)
month = month; // было бы неоднозначно без 'this'
}
};
Указатель this неявно передаётся как скрытый аргумент в каждый вызов нестатического члена функции, делая адрес объекта доступным внутри функции.
Новый — ещё не проверен сообществом
Вы