C++/C++ 클래스, 생성자 초기화 리스트

this

재윤 2023. 11. 30. 17:32
반응형

→ C++에서 this는 객체 내부에서 자신을 가리키는 포인터.

  • this 포인터는 클래스의 멤버 함수 내부에서 사용되며, 현재 호출 중인 멤버 함수가 속한 객체를 가리킨다.
  • 이를 통해 멤버 함수 내부에서 객체의 멤버 변수와 다른 멤버 함수에 접근할 수 있다.

this를 사용할 때

  1. 멤버 변수에 접근: this 포인터를 사용하여 멤버 함수 내에서 현재 객체의 멤버 변수에 접근할 수 있다. 이는 멤버 변수와 지역 변수의 이름이 충돌하는 경우 유용.
class MyClass {
public:
    int x;

    void setX(int value) {
        this->x = value; // this 포인터를 사용하여 멤버 변수 x에 접근
    }
};

   2. 멤버 함수 호출: 멤버 함수 내에서 다른 멤버 함수를 호출할 때 this 포인터를 사용하여 현재 객체에서 호출.

class MyClass {
public:
    void func1() {
        // 다른 멤버 함수 호출
        this->func2();
    }

    void func2() {
        // 멤버 함수 내에서 다른 멤버 함수 호출
    }
};

 

  3. 객체 자신의 주소 반환: this 포인터를 사용하여 현재 객체의 주소를 반환할 수 있습니다. 이것은 연쇄적인 함수 호출에서 유용할 수 있  다.

class MyClass {
public:
    MyClass* getObject() {
        return this; // 현재 객체의 주소 반환
    }
};

C++에서 this 포인터는 일반적으로 생략할 수 있으며, 대부분의 경우에는 생략되어 사용된다. 컴파일러가 자동으로 this를 처리합니다. 그러나 이름 충돌이나 특별한 상황에서 this를 명시적으로 사용할 수 있다.

반응형

'C++ > C++ 클래스, 생성자 초기화 리스트' 카테고리의 다른 글

생성자 초기화 리스트  (0) 2023.12.01
생성자, 소멸자  (2) 2023.11.30
private, public  (0) 2023.11.30
클래스  (2) 2023.11.30