gpt4 book ai didi

c++ - 数据对齐和继承问题

转载 作者:太空宇宙 更新时间:2023-11-04 14:58:07 25 4
gpt4 key购买 nike

在 64 位上考虑这些结构:

struct base
{
long a;
};

struct derived : public base
{
long b;
char c;
};

我得到 24 的大小和填充警告,但我不明白为什么。对我来说,具有这种继承性的数据就是这样对齐的

a
b
c

所以 a 在 8 上对齐,b 也是,c 是一个字符并且在 1 上对齐。那么这里的问题是什么,为什么大小是 24 ?

最佳答案

大小为 24,这样当您创建一个 struct derived 数组时,数组的第二个元素将与 base::a 对齐 8 字节。

关于c++ - 数据对齐和继承问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4119993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com