생성사 소멸자 질문이있어서 이렇게 질문드립니다.
아래의 코드에서 간단히 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;
}