빈 클래스의 객체의 크기 가 얼마인지 궁금합니다 . 다른 객체처럼 참조하고 가리킬 수 있어야하므로 0 바이트가 될 수 없습니다 . 그러나 그러한 물체는 얼마나 큰가요?
이 작은 프로그램을 사용했습니다.
#include <iostream>
using namespace std;
class Empty {};
int main()
{
Empty e;
cerr << sizeof(e) << endl;
return 0;
}
Visual C ++ 및 Cygwin-g ++ 컴파일러에서 얻은 출력은 1 바이트 였습니다 ! 기계어 크기 (32 비트 또는 4 바이트) 크기가 될 것으로 예상했기 때문에 이것은 나에게 조금 놀랐습니다.
누구든지 왜 1 바이트 크기 인지 설명 할 수 있습니까 ? 4 바이트가 아닌 이유는 무엇 입니까? 이것은 컴파일러 또는 기계에도 의존합니까? 또한 누군가가 빈 클래스 객체 의 크기가 0 바이트 가 아닌 이유에 대해 더 합리적인 이유를 줄 수 있습니까?