首页 > 其他 > 详细

sizeof 相关的小知识

时间:2014-01-30 11:31:37      阅读:518      评论:0      收藏:0      [点我收藏+]

1. char *pStrTest = "Test"; 

    => sizeof(pStrTest) == 4;

2. char szString[10]; 

    => sizeof(szString) == 10;


3. class A
   {
   };
   => sizeof(A) == 1; // 没有任何成员的时候, 编译器为其分配一个自己的内存;


4. class A
   {
      int a[]; // 类定义中可以不指定数组大小; 可以认为只是声明, 所以不占内存;
   };
   => sizeof(A) == 1;


5. class A
    {
       int a[];
       virtual ~A() = 0;
    };
    => sizeof(A) == 4;  // 增加了虚函数, 所以编译器会在类中增加一个指针成员, 用来指向类的虚函数表;


6. class A
    {
       int a[];
       virtual ~A() = 0;
       static int b; // 静态成员不会在对象实例中分配内存;
    };
    => sizeof(A) == 4;


sizeof 相关的小知识

原文:http://blog.csdn.net/minico/article/details/18881797

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!