2012-04-23 13 views

答えて

0

このようなコードは、シングルトンパターンの実装に使用できます。ここでは、タイプaの1つのインスタンスが宣言されています。他のインスタンスが何らかの形で禁止されている場合、それはシングルトンです。しかし実際には、私は思い出しますが、通常はあまり混乱しない構文を使用します。

そして、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; 
} 
+0

インスタンス化できるインスタンスの数が1つに制限されているクラスをシングルトンクラスと呼びます。したがって、いつでも1つのインスタンスしか存在できません。私たちは静的な方法でそれを実装できます。どのように自分自身のクラスの静的オブジェクトを作るのが助けになるのか分かりません。 – CppLearner

+0

@CppLearner 'a :: b'の定義は、リンカによってあらかじめ定義されたアドレスに置くことができます(ハードウェアへのメモリマップアクセス) – anatolyg

+0

ありがとう、私はちょうどあなたの説明を確認[リンク] http://stackoverflow.com/questions/2593324/c-singleton-classからのコードを見た。 'class MySingleton { public: static MySingleton&getInstance() { 静的MySingletonインスタンス。 return instance; } プライベート: MySingleton(); 〜MySingleton(); }; ' – CppLearner

関連する問題