关于C++字节对齐
大神博客1:介绍的简单明了,例子很容易理解
大神博客2:从地址层面介绍,例子很容易理解
偏移量:变量的地址相对于起始地址的偏移量
普通变量的偏移量必须为下面的倍数
sizeof(char) :1
sizeof(short) :2
sizeof(int) :4
sizeof(long) :4
sizeof(long long) :8
sizeof(char*) :4/8(指针:32位是4,64位是8)
sizeof(float) :4
sizeof(double) :8
结构体的偏移量必须是成员变量最大的那个偏移量
比如:
struct node{
int a;
char b;
}
struct test{
char a;
node b;
}
我们知道,sizeof(node)为8
但是,sizeof(test)就是12,1+3+8