C++空类的sizeof

  在金山WPS的面试中,有一道题目是这样的:

  A是一个空类,求A的内存大小:

class A{};
cout <<sizeof(A)<<endl;

  在64位的VS2013中,运行结果是:1。

  原因是:即使是空类,在实例化后的内存中也是独一无二的,所以不能是0。根据编译器的不同,会给空类隐含添加一个字节,这样实例化后,这个类就是独一无二的了。

  同理,struct也是如此。

 

posted @ 2016-04-18 11:14  leolfw  阅读(312)  评论(0编辑  收藏  举报