본문 바로가기
I LEARNED/TIL

[TIL] 소멸자 왜 쓸까?

by veganwithbacon 2023. 4. 21.
반응형

엄밀히 말하면 되는 게 없다.

외적으로 보이는 것은 예로 cout <<"퇴근할래요!" << endl;라고 치는 것 말고는 가능한 게 없는 것 같다.

메모리를 반환해준다는 것은 얼핏 본 것 같은데, c++코드에 많이 보여서 정리해 봤다.

 

C++ 객체 소멸 과정

1. 소멸자 호출

2. 메모리 해제

 

소멸자의 외형적 특징

1. 함수

2. 클래스명 앞에 ~가 붙는다

3. 리턴 x

4. 매개변수 안되고, 오버로딩 안되고, 매개 변수 선언도 불가

 

소멸자의 특징?

- 객체 소멸 시 반드시 호출

- 생성자는 멤버 변수의 초기화를 위해 항상 정의하기 마련이지만, 소멸자는 객체 소멸 시 처리해야 할 일이 있으면 프로그래머가 정의를 해야 한다. => 생성자 내에 메모리를 동적 할당할 경우, 이를 해체하기 위해 소멸자를 정의해야 한다.

반응형

댓글