class Test
{
struct
{
unsigned has_some_value1: 1;
unsigned has_some_value2: 1;
} info;
};
Что такое unsigned has_some_value1:1;
означает?
Должно выполняться следующее утверждение: sizoef(type) == bit1 +... + bitn
?
Они называются "битовыми полями". has_some_value1
занимает один бит. has_some_value2
также занимает один бит - возможно, следующий физический бит в памяти или, может быть, нет (зависит от того, как ваш компилятор настроен для обработки выравнивания битового поля).
Битовое поле в нестатическом экземпляре неименованной структуры, называемой "информация", которая сама является членом "теста".