Вопросы с тегом «unions»

412
Разница между структурой и союзом

Есть ли хороший пример, чтобы дать разницу между а structи а union? В основном я знаю, что structиспользует всю память своего члена и unionиспользует наибольшее пространство памяти членов. Есть ли другая разница в уровне...

254
Цель Союзов в C и C ++

Я раньше использовал союзы с комфортом; Сегодня я был встревожен, когда я прочитал этот пост и узнал, что этот код union ARGB { uint32_t colour; struct componentsTag { uint8_t b; uint8_t g; uint8_t r; uint8_t a; } components; } pixel; pixel.colour = 0xff040201; // ARGB::colour is the active member...

133
Когда кто-нибудь будет использовать профсоюз? Это остаток от C-only дней?

Я научился, но на самом деле не получить союзы. Каждый текст на C или C ++, который я прохожу, представляет их (иногда мимоходом), но они, как правило, дают очень мало практических примеров того, почему или где их использовать. Когда профсоюзы будут полезны в современном (или даже устаревшем)...

129
Доступ к неактивному члену союза и неопределенному поведению?

У меня создалось впечатление, что доступ к unionчлену, отличному от последнего набора, - это UB, но я не могу найти надежную ссылку (кроме ответов, в которых утверждается, что это UB, но без какой-либо поддержки со стороны стандарта). Итак, это неопределенное...

93
Почему C ++ запрещает анонимные структуры?

Некоторые компиляторы C ++ допускают анонимные объединения и структуры как расширение стандартного C ++. Это немного синтаксического сахара, которое иногда бывает очень полезно. Какое объяснение препятствует тому, чтобы это стало частью стандарта? Есть технические препятствия? Философский? Или...

89
Какова цель использования союза только с одним членом?

Когда я читал исходный код seastar , я заметил, что существует структура объединения, tx_sideкоторая имеет только один член. Это какой-то хак для решения определенной проблемы? К вашему сведению, я вставляю tx_sideструктуру ниже: union tx_side { tx_side() {} ~tx_side() {} void init() { new (&a)...