c++内存对齐的规则

内存对齐规则:

“对齐系数”:

#pragma pack(n)

“对齐单位”,也叫有效对齐值

min(#pragma pack(n), 最大长度的类型)

结构体的总大小为 有效对齐值 的整数倍,如有需要编译器会在最末一个成员之后加上填充字节。

class C
{
public:
	short a; 
	long long c; 
};
// 有效对齐值:8
class C
{
public:
	short a;
	int b;
}; // 有效对齐值:4
class C
{
public:
	char a;
	char b;
	char c;
	char d;
	char e;
}; // 有效对齐值:1
class C
{
public:
	char a;
	char b;
	char c;
	short e;
}; // 有效对齐值:2
发布了99 篇原创文章 · 获赞 4 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/m0_37313888/article/details/105485225