结构体对齐
struct A
{
char a;
int b;
char c;a
double d;
};
问题 1: 结构体 A 的大小?
问题 2: 结构体的比较,怎么判断两个对象是否相等
问题 3 :memcmp
函数能不能用?为什么?
首先,如果默认对齐数为 8,则结构体的大小为 24 。如果不懂,可以我讲结构体内存对齐规则的文章:内存对齐
结构体的比较,如果我们直接这样写:
struct A a, b;
a == b;// error
这样肯定是不行的
我们可以重载 ==
运算符:
bool operator==(const A& rhs)
{