gpt4 book ai didi

C++ 结构 - 定义最小大小

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:07:24 24 4
gpt4 key购买 nike

是否有一种 C++(或 MSVC)方法可以自动将结构填充到最小大小?例如,想象以下伪代码:

#pragma pad(256) // bytes
struct SETUPDATA {
int var1;
double var2;
};

where sizeof(SETUPDATA) = 256 bytes

这里的目标是,在开发过程中可以更改此结构的成员,而无需在运行时更改占用空间大小。

最佳答案

你可以使用 union

struct SETUPDATA {
union { struct your_data; char [256]; }
}

或类似的东西。这确保它至少为 256,但前提是 your_data 不大于。

您还可以在编译器检查之后添加一个简单的断言 assert(sizeof(struct SETUPDATA) == 256)

关于C++ 结构 - 定义最小大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16929275/

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