|
소멸자 또는 적합한 위치(메소드)에서 delete 해주셔야 합니다.
--; 님이 쓰신 글 :
: 클래스 설계시 사용자가 생성자를 정의하고 동적으로 메모리 할당하게 만들었습니다.
:
: 소멸자는 정의하지 않았습니다.간단히 예를 들어 아래처럼.
:
: class test
: {
: int *itsval;
:
: public:
:
: test();
: };
:
:
: test::test()
: {
: itsval=new int;
: *itsval=5;
: }
:
:
: 이 클래스의 객체 no1 이라는 것을 만들었을때 itsval 이 동적으로 할당이 되며 5 라는 값이
: 들어가게 되는데... 이 객체가 사라지게 될때 컴파일러가 제공하는 기본 소멸자는
:
: 동적으로 할당된 메모리를 자동으로 제거하되는 건가요?
: 아니면 직접 소멸자를 정의해서 메모리를 해제 해주어야 하는건가요?
:
: 책을 보다 갑자기 궁굼증이 생겨서 질문올립니다.
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
|