0

私はSOでこの質問を見て、この種のコードをリアルタイムの例で実際にどこで使用できるのか疑問に思いました。

struct a
{
    static struct a b;
};


int main()
{
    a::b;

    return 0;
}

またa::b; 、あなたの入力に感謝することの重要性は何ですか。

4

1 に答える 1

0

このようなコードは、シングルトンパターンの実装に使用できます。ここでは、型の1つのインスタンス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;
}
于 2012-04-23T17:06:41.733 に答える