Clase sin ningún miembro de datos y función de miembro, este tipo de clase se conoce como clase vacía. El tamaño del objeto de la clase vacía es siempre de 1 byte.
Cuando creamos el objeto de cualquier clase en ese momento, el objeto siempre obtiene 3 características, es decir
- Estado
- Comportamiento
- Identidad
Cuando creamos objeto de la clase vacía en ese estado el tiempo de ese objeto no es nada. El comportamiento de ese objeto tampoco es nada, pero el compilador asigna una dirección única a ese objeto. La memoria en la computadora siempre se organiza en forma de bytes y la memoria mínima disponible en la ubicación de la dirección del objeto es de 1 byte. Es por eso que el tamaño del objeto de la clase vacía es de 1 byte.
Hay un miembro de marcador ficticio cuyo tamaño es de un byte. Dado que para una matriz de Prueba [10], cada objeto debe tener una dirección única. – legends2k
Sin embargo, una optimización interesante es la 'Optimización de Base Vacía', lo que significa que si heredas de una clase base vacía (sin atributos, sin métodos virtuales), entonces tu tamaño de clase no crecerá. Hay una serie de (otras) condiciones, pero explica por qué hereda de forma privada los predicados en algunas situaciones. –
[pregunta similar 1] (http://stackoverflow.com/questions/1626446) y [pregunta similar 2] (http://stackoverflow.com/questions/621616/). – Lazer