Възможни дубликати:
Празен клас в C++
Какъв е размерът на празна структура в C ?
Прочетох някъде, че размерът на празна структура в C++ е 1. Така че реших да го проверя. За съжаление го запазих като C файл и използвах <stdio.h>
заглавка и бях изненадан да видя резултата. Беше 0.
Това означава
struct Empty {
};
int main(void)
{
printf("%d",(int)sizeof(Empty));
}
отпечатваше 0
, когато беше компилиран като C файл и 1
, когато беше компилиран като C++ файл. Искам да знам причината. Четох, че sizeof
празна структура в C++ не е нула, защото ако размерът беше 0
, тогава два обекта от класа ще имат един и същ адрес, което не е възможно. Къде греша?
C
. - person pmg   schedule 03.10.2010