프로그래밍/C++

this 포인터

리뷰하는 (게임)프로그래머_리프TV 2010. 3. 21. 17:41




this 포인터,
자기 자신을 호출하는 포인터.
자기 참조 포인터라고도 하는데

크게 어려운건 없다.


#include <iostream>

class AAA
{
	int n;
public:
	AAA(int n)
	{
		// 컴파일에 문제는 없지만
		// 프로그래머가 원하는 결과는 나오지 않을 것이다.
		//n = n;		// n은 class AAA의 n이 아닌 인자 n만을 가지고 값을 넣기 때문이다.
		// 다음처럼 해주면 된다.
		this->n = n;
	}
	AAA* GetThis()
	{
		return this;
	}
};

void main()
{
	AAA aaa(10);

	// this 포인터는 그 클래스의 주소값을 가르키고 있기 때문에
	// 다음처럼 하면 aaa의 주소를 리턴하여 출력한다.
	std::cout << aaa.GetThis() << std::endl;
}