假设我需要在一个结构中存储 8 个布尔值,但我只想一起使用 1 个字节,那么我可以这样做:
struct myStruct {
bool b1:1;
bool b2:1;
bool b3:1;
bool b4:1;
bool b5:1;
bool b6:1;
bool b7:1;
bool b8:1;
};
有了这个我可以做类似的事情
myStruct asdf;
asdf.b3=true;
asdf.b4=false;
if(asdf.b1)
...
到目前为止这是正确的吗?(我实际上不知道,我以前从未使用过位域)
好的 - 但是是否也可以创建一个由 8 个布尔值组成的静态数组,这样它们将只使用 8 位,但我仍然可以通过索引来寻址它们?
就像是
struct myStruct {
public:
bool b[8]:8;
};
也许?(有了这个,我得到一个错误 C2033)
谢谢您的帮助!