0
내가 this 질문을보고이 코드가 실시간 예제에서 실제로 사용될 수 있는지 궁금해했습니다.클래스 내에서 선언 클래스의 정적 멤버를 실시간으로 사용
struct a
{
static struct a b;
};
int main()
{
a::b;
return 0;
}
또한 입력에 대한 a::b;
감사의 의미 것입니다.
내가 this 질문을보고이 코드가 실시간 예제에서 실제로 사용될 수 있는지 궁금해했습니다.클래스 내에서 선언 클래스의 정적 멤버를 실시간으로 사용
struct a
{
static struct a b;
};
int main()
{
a::b;
return 0;
}
또한 입력에 대한 a::b;
감사의 의미 것입니다.
이러한 코드는 싱글 톤 패턴의 구현에 사용될 수 있습니다. 여기서 유형 a
의 인스턴스 하나가 선언됩니다. 다른 인스턴스가 어떻게 든 금지되면, 그것은 싱글 톤입니다. 그러나 실제로는 혼동스럽지 않은 구문을 사용합니다.
a::b
에 대해서는 유용하지 않습니다. 인스턴스 이름 만 보여줍니다. 보다 유용한 예제는 다음과 같습니다.
struct a
{
static struct a b;
int data;
};
a a::b = {9};
int main()
{
int stuff = a::b.data;
printf("%d\n", stuff);
return 0;
}
인스턴스화 할 수있는 인스턴스의 수가 1로 제한되는 클래스를 싱글 톤 클래스라고합니다. 따라서 주어진 시간에 오직 하나의 인스턴스 만 존재할 수 있습니다. 정적 메소드를 통해 구현할 수 있습니다. 나는 자신의 클래스의 정적 객체를 만드는 것이 어떻게 도움이되는지 이해하지 못한다. – CppLearner
@CppLearner'a :: b'의 정의는 링커에 의해 미리 정의 된 주소에 놓일 수있다. 이것은 하드웨어에 대한 메모리 매핑 된 접근과 관련이있다.) – anatolyg
고마워, 나는 당신의 설명을 확인하는 [link] http://stackoverflow.com/questions/2593324/c-singleton-class의 코드를 보았다. 'class MySingleton { public : static MySingleton & getInstance() { 정적 MySingleton 인스턴스; return instance; } 개인 : MySingleton(); ~ MySingleton(); }; – CppLearner