可能性の重複:
Do static members of a class occupy memory if no object of that class is created?
Memory Allocation of Static Members in a Class静的クラスのメンバ
「クラスは、そのクラス本体が完了し刚性定義されて考えられていない、クラスが持つことはできません独自の型のデータメンバ。クラスには、それ自体の型へのポインタ/参照であるデータメンバを持つことができます。
- C++プライマー(リップマンLajoie)
は理にかなっています。
これはなぜ許可されますか?
class justAClass
{
public :
justAClass();
private :
static justAClass justAMember;
}
ポインタについてはわかります。しかし、これは何の上で動作するのだろうか?どのように私はそのようなクラスのオブジェクトのサイズを決めるのだろうか?たとえそれが静的であっても、それ自体の型のメンバを持つ再帰的なケース(基本条件なし)ではないでしょうか?
静的メンバーデータは、クラスのサイズに寄与しません。 –