随笔---乱七八糟

1:空struct为何有大小
 struct A
 {
   int a;
   int b;
   int c;
 };

 struct B
 {
 
 };

 int _tmain(int argc, _TCHAR* argv[])
 {
  cout<<sizeof(A)<<endl;

   cout<<sizeof(B)<<endl;

   getchar();

   return 0;
 }

  1:C++是静态编译型语言,本质上源代码中声明的一切变量对于编译器来说都只是一块内存,即使是空struct也一样需要分配,不过只分配1 byte,sizeof应该是4,因为有内存对齐。Stan Lippman的那本Inside C++ Model说得很清楚。

  2:即使是空的struct一样有大小的,不过是一个字节, 因为一个空结构,虽然没有内部成员,但是必须在内存上有所体现,不然在取地址的时候就出问题了,class也是一样的;

引自:http://www.cppblog.com/sunraiing9/archive/2007/02/28/19052.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值