我有一个简单的结构,其字段总和= 10位
public struct TestSTrut
{
public byte ByteField;
public bool BoolFieldOne;
public bool BoolFieldTwo;
public TestSTrut(byte a, bool b, bool c)
{
ByteField= a;
BoolFieldOne= b;
BoolFieldTwo= c;
}
}
现在,如果我将1000个数组放入数组,则数组的大小为3012个字节,这意味着每个结构为3个字节?但是应该是1250个字节吗? (10 * 1000)/ 9。
如果我将1000个字节放入数组中进行比较,则其大小为1012个字节(12个字节用于数组开销)。
我正在x64调试中使用Visual Studio对此进行测试
答案 0 :(得分:2)
简单的答案:
sizeof(bool) == 1
如果需要更紧凑的存储,则需要编写自己的存储。