[해결]구조체 안에 클래스로 선언한 객체에 대하여
글쓴이: dltkddyd / 작성시간: 목, 2012/02/09 - 12:36오전
ast라는 구조체 타입이 있고, ccla라는 클래스 타입이 있습니다. ccla에는 문자형 포인터가 있고요. 그리고 ast 안에 ccla로 선언된 obj가 존재합니다. 그리고
ast* head;
라고 전역에서 선언했습니다. 그리고 특정 함수에서 head에 동적할당을 다음의 방식으로 합니다.
void set(ccla ft) {
head=new ast;
head->obj=ft;
}
이 때 head->obj 라는 객체는 언제 소멸할까요?
첫번째, head가 전역이니, 프로그램이 종료될 때,
두번째, head에 동적으로 할당하는 함수가 반환주소로 돌아온 직후
세번째, delete로 hed를 지울 때
그리고 head->obj의 동적으로 할당된 문자형 포인터가 가리키는 메모리는 언제 해제되나요?
Forums:
...
(1) delete head할 때 ccla의 소멸자가 호출됩니다.
(2) 그건 head->obj의 소멸자가 뭘 하느냐에 달렸지요.
답변 감사드립니다.
감사합니다. 당장 만들어봐야 겠네요.
본인 맞습니다.
인증샷
우헤헤헤... 로 대신합니다.
댓글 달기