On 01/18/2013 03:50 AM, horseriver wrote: > hi: > I am doing a test for c++; > > here is my code: > > #include <stdio.h> > class A > {}; > > class B > { > public: > B(){}; > ~B(){}; > }; > > int main() > { > > printf("size of A is %d \n",sizeof(A)); > //printf("size of B is %d \n",sizeof(B)); > } > > output is "size of A is 1 " ,I can not understand this result , > there is no data in class A ,why here its size is 1? Because it's not possible to have an object with nonzero size. The address of every object must be unique, so they have to be separated by one byte anyway. Andrew.