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
[36819] Re:감사드립니다.~
임문환.실업자 [origin] 792 읽음    2004-08-17 18:59
사무엘 님이 쓰신 글 :
: 답변 감사합니다. 실제로 테스트를 해보고 싶었는데 할 방법이 막연해서 질문을 올렸던 것입니다.
: 소멸자에서 해야할 메모리 해제가 있는 경우는 소멸자에서 메모리 해제를 안하고 다음과 같이 했어요.
: 이렇게 하는게 가능한 건지도 궁금합니다.
:
: SomeClass *SomeObj = new SomeClass;
: void* vptr=SomeObj;
: ..........
: SomeClass *OtherPtr=(SomeClass*)vptr;
: delete OtherPtr->a;   //a는 SomeClass의 생성자에서 new로 할당된 포인터
: ..........
: delete vptr;

소멸자가 호출되지 않았을 때 발생가능한 문제는 예로 든 것에 국한하지 않습니다.
SomeClass가  다른 클래스를 상속받은 것이 아니고 SomeClass의 소멸자에서 할 작업으로서 명시적으로 지정한 작업이 오직 a가 가리키는 메모리를 해제하는 것이라면 위와 같이 해도 문제 없겠습니다.

+ -

관련 글 리스트
36801 new 와 delete에 대해 질문입니다. 사무엘 787 2004/08/16
36803     Re:new 와 delete에 대해 질문입니다. 임문환.실업자 902 2004/08/16
36814         감사드립니다.~ 사무엘 740 2004/08/17
36819             Re:감사드립니다.~ 임문환.실업자 792 2004/08/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.