这仅适用于C++ 11:
如果我有一个常规的枚举如下:
enum TestType
{
Test0 = 0,
Test1,
Test2,
Test3,
Test4,
Test5,
Test6,
Test7
}
Run Code Online (Sandbox Code Playgroud)
和这样的压缩结构:
struct
{
TestType a : 3
uint32_t b : 5
} TestStruct;
Run Code Online (Sandbox Code Playgroud)
为TestStruct.a保证访问时等于任何有效的分配枚举值?或者编译器是否有可能分配已签名的基础类型,然后将位域a视为范围-4到3.