一个空类的大小为何不为零?

来源:互联网 发布:ipad可以管理淘宝店吗 编辑:程序博客网 时间:2024/05/17 04:29

一个空类的大小为何不为零?#include <iostream>class SizeOfClass{};int main(){  using std::cout;  using std::endl;  cout << sizeof(SizeOfClass) << endl;    SizeOfClass instance;  cout << sizeof(instance) << endl;  system("pause");return 0;};问题:空类中没有包含任何信息,按照常理大小应该为零,但在实现中为何不为零呢?解析:当声明一个类型(包括内置类型)对象实例(变量)时,会包括:1)信息存储的地方      2)存储的信息 3)存储的类型。同样声明一个空类型 如例子的SizeOfClass的实例时      会分配存储的空间,否则就无法使用实例instance。至于分配多大的内存跟编译器的实      现有关,超过了本题要讨论的范围了。


0 0