2012-04-21 1 views

답변

4

의 크기 '는'1 될 것입니다 :

printf("%ld\n",sizeof(a)); => 1 

sizeof()는 클래스의 데이터를보고하지만 각각의 고유 한 클래스가 있어야합니다 이후는 자신의 주소, 패딩 바이트가 추가되어 있어요 . valgrind가 불평하는 이유는 패딩 바이트에 액세스하는 것이므로 컴파일러는 어떤 값으로 초기화 할 의무가 없습니다.

클래스의 최소 크기가 1이 아닌 이유에 대한 설명은 here을 참조하십시오.