Вопросы с тегом 'unions'

Множественное число ключевого слова в семействе языков C для объявления типа данных объединения.
15
ответов

Различие между структурой и союзом

Есть ли хороший пример, чтобы дать разницу между struct и a union? В основном я знаю, что struct использует всю память своего члена, а union использует наибольшее пространство памяти членов. Есть ли другая разница в уровне ОС?
задан 06 дек. '08 в 20:56
18
ответов

Зачем нам C-союзы?

Когда следует использовать союзы? Почему они нам нужны?
задан 31 окт. '08 в 6:51
14
ответов

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

Я раньше использовал союзы; сегодня я был встревожен, когда прочитал этот пост и узнал, что этот код union ARGB { uint32_t colour; struct componentsTag { uint8_t b; uint8_t g; uint8_t r; uint8_t a; } ...
задан 22 февр. '10 в 14:17
18
ответов

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

Я узнал, но на самом деле не получаю профсоюзы. Каждый текст на C или С++, который я просматриваю, вводит их (иногда мимолетно), но они, как правило, дают очень мало практических примеров того, почему и где их использовать. Когда союзы будут полезны ...
задан 25 янв. '11 в 4:00
5
ответов

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

У меня создалось впечатление, что доступ к члену union, отличному от последнего установленного, является UB, но я не могу найти твердую ссылку (кроме ответов, требующих ее UB, но без поддержки стандарта). Итак, это поведение undefined?
задан 07 июля '12 в 10:37
6
ответов

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

Некоторые компиляторы С++ разрешают анонимные объединения и структуры как расширение стандартного С++. Это немного синтаксического сахара, который иногда очень полезен. Какое обоснование мешает этому быть частью стандарта? Есть ли технологический бл...
задан 12 февр. '10 в 20:48
10
ответов

Как скомпилировать C-код с анонимными структурами/объединениями?

Я могу сделать это в С++/g++: struct vec3 { union { struct { float x, y, z; }; float xyz[3]; }; }; Затем vec3 v; assert(&v.xyz[0] == &v.x); assert(&v.xyz[1] == &v.y); assert(&v.xy...
задан 29 дек. '10 в 2:05
3
ответов

Как boost:: variant и boost:: любая работа?

Как вариант и любой из библиотеки boost работают внутри? В проекте, над которым я работаю, в настоящее время я использую тегированный союз. Я хочу использовать что-то еще, потому что объединения на С++ не позволяют использовать объекты с конструктора...
задан 14 февр. '11 в 7:53
6
ответов

Что означает "запрос к члену" ******* "во что-то, что не является структурой или союзом?

Есть ли легкое объяснение того, что означает эта ошибка? request for member '*******' in something not a structure or union Я встречался с ним несколько раз за время, когда я изучал C, но у меня нет подсказки относительно того, что это значит.
задан 02 февр. '10 в 16:46
5
ответов

Объединение С++ в С#

Я перевод библиотеки, написанной на С++, на С#, и ключевое слово 'union' существует один раз. В структуре. Каков правильный способ перевода его на С#? И что он делает? Это выглядит примерно так: struct Foo { float bar; union { int ...
задан 24 сент. '08 в 15:20
4
ответов

Является ли type-punning через объединение неуказанным в C99, и стало ли это указано в C11?

Ряд ответов на вопрос о переполнении стека Получение битов с одиночной точностью IEEE для float предполагает использование структуры union для персонализации типа (например: поворот биты a float в uint32_t): union { float f; uint32_t u; } u...
задан 25 июля '12 в 0:58
7
ответов

Анонимный союз внутри структуры не в c99?

здесь очень упрощенный код проблемы, который у меня есть: enum node_type { t_int, t_double }; struct int_node { int value; }; struct double_node { double value; }; struct node { enum node_type type; union { struct int...
задан 12 июля '10 в 14:35
3
ответов

Добавление/конкатенация двух последовательностей IEnumerable

У меня есть два набора datarows. Они каждый IEnumerable. Я хочу добавить/объединить эти два списка в один список. Я уверен, что это выполнимо. Я не хочу делать цикл for и замечаю, что есть метод Union и метод Join в двух списках. Любые идеи?
задан 10 февр. '11 в 22:53
3
ответов

Почему это недопустимо для типа объединения, объявленного в одной функции, для использования в другой функции?

Когда я читал ISO/IEC 9899: 1999 (см.: 6.5.2.3), я увидел пример, подобный этому (выделение мое): Ниже приведен неверный фрагмент (поскольку тип объединения не отображается внутри функции f): struct t1 { int m; }; struct t2 { int m; }; int f(struc...
задан 26 сент. '18 в 10:07
7
ответов

Союзы в качестве базового класса

Стандарт определяет, что Unions не могут использоваться в качестве базового класса, но есть ли какие-либо конкретные аргументы для этого? Насколько я понимаю, Unions могут иметь конструкторы, деструкторы, также переменные-члены и методы для работы с ...
задан 02 нояб. '10 в 10:21