В C++ ключевое слово this— это указатель, который ссылается на текущий экземпляр объекта внутри функции-члена или нестатическую переменную-член. Это позволяет вам получить доступ к членам и методам объекта, которому принадлежит функция или переменная. Вот несколько распространенных вариантов использования ключевого слова thisв C++:
-
Квалификация переменных-членов. Вы можете использовать
thisдля уточнения переменных-членов, когда существует конфликт имен между локальными переменными и переменными-членами. Например:class MyClass { int x; // member variable public: void setX(int x) { this->x = x; // using this to refer to the member variable } }; -
Возврат текущего объекта: вы можете использовать
thisдля возврата текущего экземпляра объекта из функции-члена. Это позволяет вам объединить несколько вызовов функций-членов. Например:class MyClass { int x; public: MyClass& setX(int x) { this->x = x; return *this; // returning the current object } }; -
Передача текущего объекта. Вы можете передать текущий объект в качестве параметра другим функциям или конструкторам, используя указатель
this. Это позволяет функции или конструктору получать доступ к членам текущего объекта. Например:class MyClass { int x; public: void doSomething() { helperFunction(this); // passing the current object } void helperFunction(MyClass* obj) { // accessing the members of the current object using obj int value = obj->x; // ... } }; -
Сравнение объектов. Вы можете использовать
thisдля сравнения двух объектов на предмет равенства или выполнения других специфичных для объекта сравнений внутри функции-члена. Например:class MyClass { int x; public: bool isEqual(const MyClass& other) { return this == &other; // comparing the current object with another object } };