[C++]

[C++] this 포인터

Jarvis2304 2022. 10. 14. 03:37

▶ this 포인터

- 포인터, 객체 자신에 대한 포인터

- 클래스의 멤버 함수 내에서만 사용

- 개발자가 선언하는 변수가 아니고, 컴파일러가 선언한 변수

 

▷ 멤버 함수에 컴파일러에 의해 묵시적으로 삽입 선언되는 매개 변수

 

 

▷ this와 객체

 

 

 

 

▷ this가 필요한 경우

(1) 매개변수의 이름과 멤버 변수의 이름이 같은 경우

 

 

(2) 멤버 함수가 객체 자신의 주소를 리턴할 때 (연산자 중복 시에 매우필요)

 

 

 

 

▷ this의 제약 사항

- 멤버 함수가 아닌 함수에서 this 사용 불가 (객체와의 관련성이 없기 때문에)

- 정적 멤버 함수(static member function)에서 this 사용 불가 (객체가 생기기 전에 static 함수 호출이 있을 수 있기 때문에)

 

 

 

 

 

▷ this 포인터의 실체 - 컴파일러에서 처리

 

 

 

 

참고문헌: 황기태,[명품 C++ Programming] 생능출판(2017), 671P