重点:
1.空类和空结构体的sizeof是1
2.空类和空结构体的sizeof大小可以由编译器自己控制,编译器往往会给一个空类隐含的加一个字节,这样空类在实例化后在内存得到了独一无二的地址。
3.实例化的意思就是创建一个对象。比如class A。声明一个A a;其中a就是叫实例化,因为a是有独一无二的地址。
4.空类中如果加一个虚函数或者多个,实际上空类是有一个虚指针。32位编译器下空类(有函数应该不算空类),实例化后,大小就是4字节,64位为8字节。
原因:因为一个类和一个对象实例化后,就是定义一个变量,一个变量是有地址的,有地址的变量一定有大小。C++是这样,其他的语言不清楚。