设为首页 加入收藏

TOP

C++sizeof使用规则及陷阱分析(4)
2014-11-18 22:04:06 来源: 作者: 【 】 浏览:28
Tags:sizeof 使用 规则 陷阱 分析

  嵌套struct类定义中的sizeof


  这里有个陷阱,对于结构体中的结构体成员,不要认为它的对齐方式就是他的大小,看下面的例子:


  1 struct s1


  2 {


  3 char a[8];


  4 };


  5


  6 struct s2


  7 {


  8 double d;


  9 };


  10


  11 struct s3


  12 {


  13 s1 s;


  14 char a;


  15 };


  16


  17 struct s4 //s1为1对齐,大小为8


  18 {


  19


  20 s1 s;


  21 double d;


  22 };


  23


  24 struct s5


  25 {


  26 s2 s;


  27 char a;


  28 };


  29


  30


  31


  32 cout << sizeof(s1) << endl; // 8


  33 cout << sizeof(s2) << endl; // 8


  34 cout << sizeof(s3) << endl; // 9


  35 cout << sizeof(s4) << endl; // 16


  36 cout << sizeof(s5) <




】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C++入门C++代码优化 下一篇C++中指针和引用的什么区别

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: