120j1wd4盘丝刷神器:c++空类创建对象问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/15 11:15:10
#include <iostream.h>
class empty
{
};
main()
{
empty a;
cout<<sizeof(a)<<endl;
}
//<-结果是1,这个1是什么呢?

一个空类对象的大小是1byte。 那是被编译器安插进去的一个char,这样就使得这个空类的两个objects得以在内存中配置独一无二的地址。只有当一个类为空的时候,编译器才会向该类中加入这样一个char!

参见:<<深入探索c++对象模型>>

这个 1 是系统在默认情况下的值