什么是字节对齐
字节对齐是指在内存中存储结构体或类时,编译器为了优化存储空间而将数据成员按照特定规则进行排列的过程。在C++中,字节对齐的规则是由编译器和操作系统共同决定的,但通常遵循以下规则:
- 结构体或类的第一个数据成员放在偏移量为0的位置;
- 数据成员存储的起始地址相对于结构体或类的起始地址的偏移量必须是该成员大小的整数倍;
- 结构体或类的总大小必须是最大成员大小的整数倍。
以下是一个简单的示例,用于说明字节对齐的概念:
#include <iostream>
using namespace std;
struct MyStruct {
char a;
int b;
char c