Duplicar posibles:
Do static members of a class occupy memory if no object of that class is created?
Memory Allocation of Static Members in a Classmiembro de la clase estática del propio tipo de clase
"Una clase no se considera definida hasta el de su cuerpo de la clase se ha completado, una clase no puede tener miembros de datos de su propio tipo. Una clase puede tener miembros de datos que sean punteros/referencia a su propio tipo ".
- C++ Primer (Lippman Lajoie)
tiene sentido.
¿Pero por qué está permitido esto entonces?
class justAClass
{
public :
justAClass();
private :
static justAClass justAMember;
}
Para los punteros es comprensible. ¿Pero cómo funcionará esto de arriba? ¿Cómo voy a decidir el tamaño para el objeto de tal clase? ¿No es un caso recursivo (sin condición base) tener un miembro de su propio tipo, incluso si es estático?
Los datos de los miembros estáticos no contribuyen al tamaño de la clase. –