noname02

소멸자의 호출 시기 본문

Study/C++

소멸자의 호출 시기

kimtaku 2015. 4. 10. 01:03

소멸자는 어떤 특정한 함수 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