반응형
소멸자 (Destructor)
인스턴스가 메모리에서 해제될 때 내부에서 호출되는 함수
- 메모리 누수를 방지할 때 필수적이다.
#include <iostream> class Simple { int num_; public: Simple(const int& num_in) : num_{num_in} { std::cout << "Constructor " << num_ << '\n'; } ~Simple() { std::cout << "Destructor " << num_ << '\n'; } }; int main() { { Simple s0{ 0 }; Simple s1{ 1 }; } std::cout << std::endl; { Simple *s0 = new Simple{ 0 }; Simple s1{ 1 }; delete s0; } } /* stdout Constructor 0 Constructor 1 Destructor 1 Destructor 0 Constructor 0 Constructor 1 Destructor 0 Destructor 1 */
반응형
'SW개발 > C++' 카테고리의 다른 글
| C++ 체이닝(Chaining) (0) | 2021.03.15 |
|---|---|
| C++ this (0) | 2021.03.15 |
| C++ 변환 생성자(Converting Constructor) (0) | 2021.03.15 |
| C++ delete (0) | 2021.03.15 |
| C++ 깊은 복사(Deep Copy) (0) | 2021.03.15 |