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

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

15
Цель Союзов в 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 from …
254 c++  c  unions  type-punning 


18
Когда кто-нибудь будет использовать профсоюз? Это остаток от C-only дней?
Я научился, но на самом деле не получить союзы. Каждый текст на C или C ++, который я прохожу, представляет их (иногда мимоходом), но они, как правило, дают очень мало практических примеров того, почему или где их использовать. Когда профсоюзы будут полезны в современном (или даже устаревшем) случае? Мои только …
133 c++  c  unions 

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

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

2
Какова цель использования союза только с одним членом?
Когда я читал исходный код seastar , я заметил, что существует структура объединения, tx_sideкоторая имеет только один член. Это какой-то хак для решения определенной проблемы? К вашему сведению, я вставляю tx_sideструктуру ниже: union tx_side { tx_side() {} ~tx_side() {} void init() { new (&a) aa; } struct aa { std::deque<work_item*> …
89 c++  c++14  unions 
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.