.cppファイルには多数のクラス定義があります。1つのクラスには、次のようにプライベート静的メンバーがあります。
class SomeClass:public SomeParentClass
{
private:
static int count;
};
クラスが定義された直後に、count属性は次のようにゼロに初期化されます。
int SomeClass::count = 0;
Java / C#の世界から来て、どの時点でcount
ゼロに初期化されるのか理解するのに問題がありますか?SomeClass
インスタンス化されたときですか?また、クラス定義のcount
型はであるのにint
、なぜその前にSomeClass::count
を持たなければならないのint
ですか?
そして私の最後の質問は、count属性はプライベートなので、クラス定義の外で初期化されたときにその可視性を制限すべきではないかということです。
ありがとう