게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[본삭금질문] C++ 에서 클래스를 new연산자로 생성할때 소멸자질문입니
게시물ID : programmer_5624짧은주소 복사하기
작성자 : ducking(가입:2013-10-20 방문:89)
추천 : 0
조회수 : 393회
댓글수 : 7개
등록시간 : 2014/09/25 17:54:05
옵션
  • 본인삭제금지
생성사 소멸자 질문이있어서 이렇게 질문드립니다. 

아래의 코드에서 간단히 baseC 클래스의 인스턴스변수 b를 생성했을때는 super class 생성자 -> sub class 생성자 -> sub class 소멸자 

-> super class 소멸자 와같이 호출된다고 알고있습니다.

근대 new 연산자를통해 힙영역에 저장되면 소멸자가 아예 호출이 안되던데 여기서 궁금한게

heap영역에 메모리 해제를 안해주면 설사 빌드가 중지되거나 디버그를 중지해도 그 메모리가 여전히 남아있는건가요?

그렇다면 만약 테스트한답시고 힙메모리를 엄청많이생성하게되면 나중에 ram사용량이 급격히 늘어나게되나요?

#include <iostream>
using namespace std;
class superior{
public :
superior(){
cout << "super" <<endl;
}
~superior(){
cout << "dest super" <<endl;
}
};

class baseC : public superior{
public :
baseC(){
cout << "baseC" << endl;
}
~baseC(){
cout << "destbase" << endl;
}
};

int main(){
baseC *a = new baseC();
baseC b;
return 0;
}

전체 추천리스트 보기
댓글쓰기
리스트 페이지로
데이터절약모드
◀뒤로가기
PC버전
맨위로▲
공지 운영 게시판요청 자료창고