C++/Class
2021. 3. 15. 23:34
소멸자 (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 */
'C++ > Class' 카테고리의 다른 글
C++ 체이닝(Chaining) (0) | 2021.03.15 |
---|---|
C++ this (0) | 2021.03.15 |
C++ 변환 생성자(Converting Constructor) (0) | 2021.03.15 |
C++ 복사 생성자(Copy Constructor) (0) | 2021.03.12 |
C++ 위임 생성자 (Delegating Constructor) (0) | 2021.03.12 |