关于C++内存对齐
测试代码如下:
class EmptyClass
{
int nOne = 1;
int nTwo = 2;
int nThree = 3;
};
int main(int argc, char *argv[])
{
EmptyClass instance;
system("pause");
return 0;
}
instance 的地址为0X0015FE44,如下图所示
在内存中找到该地址:
发现三个成员变量都被依照定义的顺序写入到了内存中,而由于内存对齐(windows下内存以8的倍数进行内存对齐),再nThree的末尾插入了4个0XCC数据,以保持对齐