Допустимо ли использовать битовые поля с объединением?
Я использовал битовое поле с такой структурой,
struct
{
unsigned int is_static: 1;
unsigned int is_extern: 1;
unsigned int is_auto: 1;
} flags;
Теперь я хотел бы узнать, можно ли это сделать с помощью объединения, поэтому я изменил код следующим образом:
union
{
unsigned int is_static: 1;
unsigned int is_extern: 1;
unsigned int is_auto: 1;
} flags;
Я нашел битовое поле с объединением, но все эти поля в объединении передаются в один бит, как я понял из вывода. Теперь я вижу, что использование битовых полей с объединением не является ошибкой, но мне кажется, что такое использование не является корректным с операционной точки зрения. Итак, каков ответ - действительно ли использование битового поля с объединением?