gpt4 book ai didi

c++ - 对齐的结构/类对象的填充字节中存储了哪些值

转载 作者:行者123 更新时间:2023-12-01 14:49:07 25 4
gpt4 key购买 nike

struct Data
{
std::uint32_t b;
char a;
};

数据类型按4个字节对齐,因此sizeof(Data)== 8。

但是第5-7个字节中的值是多少?默认为零吗?

最佳答案

我一直认为这是不可预测的,但是仍然不确定结构对象是否具有静态存储持续时间。
因此,我进行了搜索,以查看是否在C标准和C++标准中对此进行了明确提及(因为您是在C和C++中提出的)。
是C标准(C99,C11和C18)中提到的:

J.1 Unspecified behavior

  • The value of padding bytes when storing values in structures or unions (6.2.6.1).

对于C++,我找不到C++标准中提到的任何内容。

关于c++ - 对齐的结构/类对象的填充字节中存储了哪些值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59528237/

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