杭州会所装修公司:c++空类创建对象问题

来源:百度文库 编辑:高校问答 时间:2024/05/07 09:01:03
#include <iostream.h>
class empty
{
};
main()
{
empty a;
cout<<sizeof(a)<<endl;
}
//<-结果是1,这个1是什么呢?

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

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

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