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;
原文:https://www.cnblogs.com/huahuagongzi521/p/15003935.html