소멸자 2

[C++] 싱글톤 패턴의 생성자와 소멸자 동작 이해 - new, delete키워드 with C++

new 키워드의 이해 지난 게시글에서는 static 키워드에 대해 알아보았었다. 이번 시간에는 싱글톤 패턴으로 디자인되었을 때 소멸자가 호출되지 않는 이유를 new 키워드에 초점을 맞춰 설명해 보도록 하겠다. C++ Reference에서는 new로 생성된 오브젝트가 그것이 생성된 범위에서 해제되지 않는 동적 메모리 할당을 위해 사용된다고 설명하고 있다. 즉, 프로그램 실행 중에 할당되며, 그 크기나 수명이 컴파일 시점에서 결정되지 않고, 필요에 따라 할당되거나 해제될 수 있다는 것을 의미한다. new 키워드를 사용할 때 몇 가지 주의사항이 있다. 이를 꼭 체크하고 사용하는 습관을 기르자. 메모리 누수: new로 동적 메모리를 할당하면, 반드시 delete를 사용하여 할당된 메모리를 반환해야 함. 그렇지 ..

Language/C++ 2023.08.13

[C++] CH3 클래스와 객체 (2)

소멸자 소멸자 : 객체가 소멸되는 시점에서 자동으로 호출되는 클래스의 멤버 함수. 특징 소멸자(destructor)의 목적은 객체가 사라질 때 필요한 마무리 작업을 하기 위함이다. 소멸자의 이름은 클래스 이름 앞에 ~를 붙인다. 생성자와 같이 리턴 타입이 없고, 어떤 값도 리턴해서도 안 된다. 생성자와 같이 오직 한 개만 존재하며, 매개 변수를 가지지 않는다. 소멸자가 선언되어 있지 않으면 기본 소멸자가 자동으로 생성된다. 생성된 반대 순으로 객체가 소멸됨. 반지름 1인 원 생성 -> 반지름 30인 원 생성 -> 반지름 30인 원 소멸 -> 반지름 1인 원 소멸 // 예제 3-7 #include using namespace std; class Circle { public: int radius; Circl..

Language/C++ 2023.01.30