В дополнение к уже полученному ответу self
в Python - это просто условное имя, выбранное для первого аргумента метода класса, который ссылается на сам объект, к которому метод вызывается напрямую.
В C ++ this
- это ключевое слово, которое не указано явно в качестве параметра функции-члена класса non-stati c, но автоматически ссылается на случай, когда такая функция вызывается как pointer .
Это означает, что this
это не ссылка на объект, а указатель на него. Так что
this.member = 4;
невозможно. this
необходимо сначала разыменовать, чтобы получить ссылку на объект из указателя:
this->member = 4;
или (необычно)
(*this).member = 4;
За некоторыми исключениями, касающимися поиска имени в шаблонах имена членов ссылаются на текущего члена экземпляра автоматически, как объяснено в другом ответе, поэтому this->
можно отбросить, обычно:
member = 4;