我有一系列需要许多布尔字段的类,介于 4-10 之间。我不想为每个布尔值使用一个字节。我一直在研究位字段结构,例如:
struct BooleanBitFields
{
bool b1:1;
bool b2:1;
bool b3:1;
bool b4:1;
bool b5:1;
bool b6:1;
};
但是在做了一些研究之后,我看到很多人说这会导致内存访问效率低下,不值得节省内存。我想知道这种情况下最好的方法是什么。我应该使用位字段,还是使用带有位掩码(and's and or s)的字符来存储 8bits?如果第二种解决方案是移位还是使用逻辑更好?
如果有人可以评论他们将使用什么方法以及为什么它真的会帮助我决定我应该走哪条路线。
提前致谢!