位字段有用的情况是什么?
答案 0 :(得分:1)
任何你想要存储多个布尔值并且不想浪费内存的情况。
例如,32位整数有32位。因此,您可以使用它来使用位字段存储32位布尔值。任何其他数据结构至少会使用32个字节。
答案 1 :(得分:1)
Roddy的回答在这里有一个很好的解释
对于按位运算符,典型(坏)练习是位掩码的大量#defines。
对位域的唯一警告是确保编译器确实将对象打包成您想要的大小。我不记得这是否由标准定义,因此断言(sizeof(myStruct)== N)是一个有用的检查。
还要浏览When is it worthwhile to use bit fields?,其中有一些很好的例子。