|
this 포인터는 해당 객체의 멤버 변수일 뿐입니다.
그냥 포인터 입니다.
해당 객체가 생성되고 나면 그 객체의 메모리 위치를 가리키고 있는 포인터일 뿐입니다.
객체가 생성되면 자동으로 자신의 위치를 가리키도록 메모리값이 저장 됩니다.
생성자에서 어떤 객체를 할당했다는 것인지 모르겠지만,
자기 자신의 멤버나 매쏘드를 접근하기 위해서 사용하기 때문에 다른 용도로
사용하시면 안될듯 합니다.
예를들면
class Class
{
int value;
void SetValue(int value);
}
void Class::SetValue(int value)
{
this->value = value;
}
인자의 이름이 멤버 변수와 같을 경우, 멤버값과 인자값을 구분하려고 할때 많이 사용됩니다.
그때 자신의 객체를 가리키는 객체 포인터 변수입니다.
그 값을 임의로 바꾸시면 안될듯 합니다.
김상면 님이 쓰신 글 :
: 아닌것 같은데요?
: 그건 저도 잘 알고 있어서 열심히 사용하고 있습니다.
: 아무튼 답변 감사합니다.
: 그럼
:
:
: 아제나 님이 쓰신 글 :
: : 김상면 님이 쓰신 글 :
: : : 생성자에서 this에 할당을 하고 소멸자에서 this에 0 를 할당할수 있다고 하던데 무슨 의미가 있나요?
: : : 그럼
: :
: : 생성자에 this를 할당하고 소멸자에 this를 0으로 하는 것이 아니라 delete 하는 것이겠죠.
: : 객체 포인터(class *)를 사용할 경우에 자동 생성 및 소멸이 되도록 하기 위하여 사용하는 것 입니다.
: : 디버깅이 어려워지기 때문에 별로 추천하고 싶은 내용은 아닙니다 :)
|