<div>생성사 소멸자 질문이있어서 이렇게 질문드립니다. </div> <div><br></div> <div>아래의 코드에서 간단히 baseC 클래스의 인스턴스변수 b를 생성했을때는 super class 생성자 -> sub class 생성자 -> sub class 소멸자 </div> <div><br></div> <div>-> super class 소멸자 와같이 호출된다고 알고있습니다.</div> <div><br></div> <div>근대 new 연산자를통해 힙영역에 저장되면 소멸자가 아예 호출이 안되던데 여기서 궁금한게</div> <div><br></div> <div>heap영역에 메모리 해제를 안해주면 설사 빌드가 중지되거나 디버그를 중지해도 그 메모리가 여전히 남아있는건가요?</div> <div><br></div> <div>그렇다면 만약 테스트한답시고 힙메모리를 엄청많이생성하게되면 나중에 ram사용량이 급격히 늘어나게되나요?</div> <div><br></div> <div>#include <iostream></div> <div>using namespace std;</div> <div><span style="font-size:9pt;line-height:1.5;">class superior{</span></div> <div>public :</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>superior(){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>cout << "super" <<endl;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>~superior(){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>cout << "dest super" <<endl;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div>};</div> <div><br></div> <div>class baseC : public superior{</div> <div>public :</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>baseC(){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>cout << "baseC" << endl;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>~baseC(){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>cout << "destbase" << endl;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div>};</div> <div><br></div> <div>int main(){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>baseC *a = new baseC();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>baseC b;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>return 0;</div> <div>}</div> <div><br></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.