struct BitField
{
unsigned rangeAOne : 11; // long 1;
unsigned rangeATwo : 11;
unsigned rangeBOne : 10;
unsigned rangeAThree : 11; // long 2;
unsigned rangeAFour : 11;
unsigned rangeBTwo : 10;
} ;
合理的分配空间
0000 0000 | 0000 0000 | 0000 0000 | 0000 0000
| rangeBOne | rangeATwo | rangeAOne |
struct WastingBitField
{
unsigned rangeAOne : 11; // long 1;
unsigned rangeATwo : 11;
unsigned rangeAThree : 11; // long 2;
unsigned rangeAFour : 11;
unsigned rangeBTwo : 10;
unsigned rangeBOne : 10;
} ;
不合理,产生浪费
本文探讨了C/C++中位字段(struct)的有效空间分配方法。通过对比两种不同的成员变量排列方式,一种合理分配空间,另一种则不合理导致内存浪费,强调了在实际应用中合理布局的重要性。
191

被折叠的 条评论
为什么被折叠?



