반응형
→ C++에서 this는 객체 내부에서 자신을 가리키는 포인터.
- this 포인터는 클래스의 멤버 함수 내부에서 사용되며, 현재 호출 중인 멤버 함수가 속한 객체를 가리킨다.
- 이를 통해 멤버 함수 내부에서 객체의 멤버 변수와 다른 멤버 함수에 접근할 수 있다.
this를 사용할 때
- 멤버 변수에 접근: 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 |