noname02
소멸자의 호출 시기 본문
소멸자는 어떤 특정한 함수 A 내에서 객체가 생성되고, 그 함수A가 종료됨과 동시에 객체가 사라진다면(본래 함수 내에서 선언된 변수는 함수 종료와 함께 사라진다. 객체도 마찬가지.) 함수가 종료되기 바로 전에 소멸자가 처리되고 함수가 종료된다.
평소에는 딱히 쓸 일이 없지만, 만약 객체에서 힙 영역을 사용하게 된다면, 함수가 종료되어도 해당 힙 영역에 생성된 메모리는 제거되지 않을 것이다. 이 때, 소멸자에 delete 함수를 통해서 할당된 메모리를 해제시켜줘야 메모리 효율이 좋으므로 보통 이런 경우에 사용한다.
참고로 힙 영역으로 할당된 유효메모리는 프로그램이 종료되도 사라지지 않는다.
따라서 반드시 delete 명령어를 통해 memory leak를 방지해줘야 한다.
'Study > C++' 카테고리의 다른 글
for문의 배열기반 조건 (0) | 2015.05.13 |
---|---|
전위,후위증가 연산자 오버로딩 (0) | 2015.05.09 |
const 키워드 (0) | 2015.04.11 |
복사생성자와 객체의 반환 (0) | 2015.04.10 |
생성자 (0) | 2015.04.10 |
Comments