C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[71599] Re:Re:Re:생성자
pwrlove [pwrlove] 435 읽음    2014-07-22 14:14
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 *)를 사용할 경우에 자동 생성 및 소멸이 되도록 하기 위하여 사용하는 것 입니다.
: : 디버깅이 어려워지기 때문에 별로 추천하고 싶은 내용은 아닙니다 :)

+ -

관련 글 리스트
40720 생성자 김상면 823 2005/06/24
40750     Re:생성자 아제나 740 2005/06/27
40752         Re:Re:생성자 김상면 765 2005/06/27
71599             Re:Re:Re:생성자 pwrlove 435 2014/07/22
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.