c++ sizeof()

1. 不使用sizeof()计算机器位数;

   int* a[2];

  int size = (char*)&a[1] - (char*)&a[0];

2. 32位指针4字节,64位指针8字节;

   编译器G++, 机器64位,经测试类中的数据会向最大的字节数看齐;例如:

  1. class A{ char a;   char b;  double  c ;}(向double对齐,8字节)

      结果:sizeof(A) = 16;

              class A{ char a;   char b;  int  c ;} (向int对齐,4字节)

    结果:sizeof(A) = 8;

    class A{ char a;   virtual fun();  int  c ;}(向虚指针对齐,8字节)

    结果:sizeof(A) = 16;

  

    

posted @ 2021-07-12 21:01  花花公子1234  阅读(63)  评论(0)    收藏  举报