나는 C++ 라이브러리에 다음과 같은 구조를 건너 왔어요 :private 멤버 포인터를 NULL과 같은 클래스로 설정합니까?
인 MyClass.cpp에서 MyClass.h
class myClass {
public:
static myClass* Instance();
.
.
private:
static myClass* _instance;
.
.
};
과에
myClass* myClass::_instance = NULL;
// followed by the all other functions..
myClass::myClass() {
.
.
}
myClass* myClass::Instance() {
if (_instance == NULL) {
.
.
}
.
.
}
그래서 무엇인가 어떤 함수 밖에서 NULL 포인터가되도록 _instance를 만드는 방법? 그리고이 코드 라인은 언제 실행됩니까?
감사합니다.
편집 : 주 기능 추가. 그리고 포인터의 값을 검사하는 myClass.cpp의 인스턴스 함수. 그래도 포인터가 NULL로 설정되면 이해가되지 않습니다.
int _tmain(int argc, T_CHAR* argv[]) {
myClass* instance = myClass::Instance();
.
.
.
return 0;
}
@PaulR 무엇? 그게 어떻게 중복되는거야? 정적 인 멤버에 관한 두 가지 질문이 마술처럼 동일하지는 않기 때문입니다. –
@LightnessRacesinOrbit : 질문의 본질을 완전히 수정 한 후 편집하기 전에 원래 버전의 질문을 확인하십시오. –
@PaulR : 확인한 질문과 중복되는 개정 본이 없습니다. –