나는 이것이 더 이상 필요하지 않을 때 내 코드의 어느 부분이 동적으로 할당되었지만 정적 인 클래스 멤버를 해제할지 궁금했다. 다음 코드를 참조하십시오. classPrinter
은 모든 A
- 개체간에 공유되며 A
클래스의 첫 번째 인스턴스를 만들 때 만들어집니다. 확실한 것은 : classPrinter
- 개체가 내 프로그램을 종료 할 때 자동으로 파괴됩니다. 맞습니까?C++ 정적 클래스 멤버는 엉망진창을 청소합니까?
a.h
class A {
static B* classPrinter;
}
a.cpp
#include "a.h"
B A::classPrinter = new B();
A::A() { ...}
적어도 동적 할당이 필요한 경우 스마트 포인터가 좋습니다 ([sbi 's answer] (http://stackoverflow.com/a/8578256/10077 참조). –
Ack .... static pointer == evy. –