본문 바로가기
IT/c++

C++ this 포인터: 객체 자신을 가리키는 비밀의 지팡이

by 뉴코딩맨 2023. 8. 2.
C++에서 this 포인터는 객체 내부에서 자신의 메모리 주소를 가리키는 특별한 포인터입니다. 객체가 자신을 참조하거나 자신의 멤버에 접근할 때 유용하게 사용됩니다. 이 글에서는 C++ this 포인터의 개념과 활용 방법에 대해 알아보겠습니다.
 
 

1. this 포인터란 무엇인가?

C++에서 this 포인터는 클래스의 멤버 함수 내에서 자신의 메모리 주소를 가리키는 포인터입니다. 객체가 자신을 참조해야 하는 경우 this 포인터를 사용하여 객체 자신을 가리킬 수 있습니다.
 

2. this 포인터의 동작 방식

this 포인터는 클래스의 멤버 함수가 호출될 때 암시적으로 전달되며, 멤버 함수 내에서는 이를 사용하여 자신의 멤버 변수에 접근하거나 자신을 참조할 수 있습니다. this 포인터를 통해 멤버 변수의 접근이 가능해지므로 이름이 같은 매개변수와 멤버 변수를 구별할 수 있습니다.
 

3. this 포인터의 활용

this 포인터는 주로 멤버 함수 내에서 멤버 변수에 접근할 때 사용됩니다. 특히 매개변수와 멤버 변수의 이름이 같은 경우, this 포인터를 사용하여 어떤 것이 멤버 변수인지 명확하게 구분할 수 있습니다.
 
 

4. this 포인터의 사용 예제

다음은 this 포인터를 사용하여 사각형의 면적을 계산하는 예제입니다.
 
#include <iostream>
using namespace std;

class Rectangle {
private:
    int width;
    int height;

public:
    Rectangle(int w, int h) {
        width = w;
        height = h;
    }

    int calculateArea() {
        // this 포인터를 사용하여 멤버 변수에 접근
        return this->width * this->height;
    }
};

int main() {
    Rectangle rect(5, 10);
    int area = rect.calculateArea();
    cout << "사각형의 면적: " << area << endl;

    return 0;
}

 

5. 결론

이 글에서는 C++ this 포인터에 대해 알아보았습니다. this 포인터는 객체가 자신을 참조하거나 자신의 멤버에 접근할 때 사용되며, 멤버 함수가 호출될 때 암시적으로 전달됩니다. this 포인터를 통해 객체 자신을 가리키는 비밀의 지팡이를 사용하여 클래스의 멤버에 쉽게 접근할 수 있습니다.

 

 

C++ 디폴트 생성자: 객체 초기화의 기본과 활용

C++에서 디폴트 생성자(Default Constructor)는 매개변수가 없는 생성자로, 객체가 생성될 때 호출되는 특별한 함수입니다. 만약 클래스에 사용자가 직접 생성자를 정의하지 않았다면, 컴파일러는 자

newcodingman.tistory.com

 

댓글