这是声明位域的方式:
unsigned m_bitfield1 : 2; // a bitfield that occupies 2 bits
unsigned m_bitfield2 : 1; // a bitfield that occupies 1 bit
位域只是一个具有特定位大小的小域。
我的问题是:我是否可以使用自己的算法来处理默认数据类型(例如占用大量不必要空间的整数或 float )作为任意大小的较小部分的集合,或者使用位域有一些隐藏的好处?谢谢。
最佳答案
可以将整数用作您自己访问和管理的位的集合。但是经常有un-thought-of costs使用编译器生成的位字段(可能还有您自己的位字段),您应该注意这些。
关于c++ - 除了节省空间的明显好处之外,位域是否有任何隐藏的成本或好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8569204/