这种结构意味着什么?

时间:2013-11-22 14:12:59

标签: c++

class Test 
{

    struct
    {
      unsigned has_some_value1: 1;
      unsigned has_some_value2: 1;
    } info;
};

unsigned has_some_value1: 1;的含义是什么?

以下陈述应该是真的:sizoef(type) == bit1 + ... + bitn

2 个答案:

答案 0 :(得分:2)

这些被称为“位字段”。 has_some_value1占一位。 has_some_value2也占用一位 - 可能是内存中的 next 物理位,或者可能不占用(取决于编译器如何配置来处理位字段对齐)。

答案 1 :(得分:1)

非命名结构的非静态实例中的位域,称为“info”,它本身就是“Test”的成员。