duplicados posibles:
Empty class in C++
What is the size of an empty struct in C?sizeof estructura vacía es 0 en C y 1 en C++ ¿por qué?
he leído en alguna parte que el tamaño de una estructura vacía en C++ es 1. Así que pensé en la verificación de la misma. Lamentablemente lo guardé como un archivo C y usé el encabezado <stdio.h>
y me sorprendió ver el resultado. Fue 0.
Eso significa
struct Empty {
};
int main(void)
{
printf("%d",(int)sizeof(Empty));
}
estaba imprimiendo 0 cuando se compila como un archivo de C y 1 cuando se compila como un archivo de C++. Quiero saber el motivo. Leí que el tamaño de la estructura vacía en C++ no es cero porque si el tamaño fuera 0 dos objetos de la clase tendrían la misma dirección que no es posible. ¿Dónde estoy equivocado?
-1 No, no lo hiciste t compilar eso como 'C'. – pmg
@Ninad: ¿Intentó [esto] (http://ideone.com/WAxMI)? –
Cuando haga preguntas en este nivel de idioma, incluya el nombre y la versión del compilador. –