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

Определение / объявление анонимного объединения в макросе GNU vs VS2008
Я пытаюсь изменить специальный файл заголовка IAR для lpc2138, чтобы он мог компилироваться с Visual Studio 2008 (для включения совместимого модульного тестирования). Моя проблема связана с преобразованием определений регистров, чтобы они были...
1827 просмотров

проблемы выравнивания памяти с объединением
Есть ли гарантия, что память для этого объекта будет правильно выровнена, если мы создадим объект этого типа в стеке? union my_union { int value; char bytes[4]; }; Если мы создадим char bytes[4] в стеке, а затем попытаемся привести его к...
3530 просмотров
schedule 18.03.2023

Союзы, содержащие элемент atype
У меня вопрос о том, чего я до сих пор не понимаю в профсоюзах. Я читал об их использовании и по большей части вижу, чем они могут быть полезны, и понимаю их. Я видел, что они могут обеспечить примитивный полиморфизм в стиле C. Примером этого,...
564 просмотров
schedule 15.04.2023

c ++ приведение объединения к одному из его типов-членов
Следующее кажется мне совершенно логичным, но неверным C ++. Объединение не может быть неявно приведено к одному из его типов-членов. Кто-нибудь знает вескую причину, почему бы и нет? union u { int i; char c; } function f(int i) { } int...
8126 просмотров
schedule 24.03.2022

когда указатель приведения указывает на структуру, содержащую объединение
У меня проблема со структурой, содержащей объединение. Вот проблема: typedef struct { unsigned char Type; union { unsigned char Length; unsigned __int16 Length2; } char Value[0]; }...
1010 просмотров
schedule 13.09.2022

Безопасно разыменовывать указатели на объединения структур в C?
Я пытаюсь написать декодер пакетов для протокола SCTP на C и сталкиваюсь с некоторыми проблемами при разыменовывании указателя на объединение структур (которые представляют фрагменты SCTP). Не все могут быть знакомы с SCTP (протокол передачи...
1947 просмотров
schedule 12.10.2022

Внутреннее устройство союзов C++
Я пытаюсь узнать больше о C++ и столкнулся с кодом в шахматной программе, и мне нужна помощь в понимании. У меня есть союз, например: union b_union { Bitboard b; struct { #if defined (BIGENDIAN) uint32_t h; uint32_t...
207 просмотров
schedule 21.02.2023

C - Использование объединения, выделение памяти
У меня есть структура C, которая выглядит так typedef struct event_queue{ Event* event; int size; int front; int count; int delay; } event_queue; Это базовая круговая очередь. Значение события представляет собой массив EventPointers, и он...
2410 просмотров
schedule 23.03.2023

Делает ли заполнение структуры C это использование небезопасным?
Предположим, у меня есть структура, будь то объединение или иное: typedef struct { union { struct { float x, y, z; } xyz; struct { float r, g, b; } rgb; float xyz[3]; } notAnonymous; }...
290 просмотров
schedule 04.12.2022

Как я могу предотвратить безымянную структуру\объединение?
Я создаю класс, который имеет объединение для своих матричных данных, однако я могу его скомпилировать только тогда, когда у меня нет имени для структуры\объединения. Однако с уровнем предупреждения более высокого уровня (четыре в визуальной студии)...
8660 просмотров
schedule 20.12.2022

строгое алиасинг и выравнивание
Мне нужен безопасный способ псевдонима между произвольными типами POD, соответствующий ISO-C ++ 11, явно учитывая 3.10 / 10 и 3.11 n3242 или новее. Здесь есть много вопросов о строгом псевдониме, большинство из которых касается C, а не C ++. Я нашел...
6364 просмотров

C и bison: указатели на структуру в определении %union
У меня возникли проблемы с использованием указателей на структуры в определении объединения bison, так как мне нужны позиции в памяти этих элементов, но все они кажется, указывает на одну и ту же позицию объединения . Не уверен, правильно ли я...
1431 просмотров
schedule 14.05.2024

Полиморфизм союзов C в массивах
Учитывая следующее: typedef struct{ ... ... } A; typedef struct{ ... ... } B; typedef union __attribute__((transparent_union)) { A a; B b; } C; Если я объявлю функцию myMethod(C){ ... } Следующее допустимо без явного...
499 просмотров
schedule 24.05.2022

Как присваиваются значения в следующем союзе?
В следующем коде можно ли предсказать значение int (как?), или это просто мусор? union a { int i; char ch[2]; }; a u; u.ch[0] = 0; u.ch[1] = 0; cout<<u.i; }
244 просмотров
schedule 25.12.2022

Хорошо поддерживаемая альтернатива союзам С++?
Я думаю, что объединения могут быть идеальными для того, что я имею в виду, и особенно, когда я считаю, что мой код должен работать на действительно разнородном семействе машин, особенно на маломощных машинах, меня беспокоит тот факт, что люди,...
5945 просмотров
schedule 26.07.2022

Как использовать c union, вложенный в структуру без имени
Я работаю над так называемым проектом с открытым исходным кодом Hotspot, и, глядя на реализацию, я обнаружил неприятное вложенное объединение в структуре, которое выглядит так: typedef struct RC_model_t_st { union { struct...
47119 просмотров
schedule 30.03.2022

объединение против битовой маскировки и битового сдвига
Каковы недостатки использования unions при хранении некоторой информации, такой как последовательность байтов, и возможности доступа к ним сразу или по одному. Пример: Цвет может быть представлен в RGBA. Таким образом, цветовой тип может быть...
2266 просмотров
schedule 13.05.2022

информация о заполнении структуры
struct abc { char arr[7]; char arr1[2]; int i:24; }; В приведенной выше структуре с помощью оператора sizeof я получил ее размер 12 байт. Но по моим расчетам (может ошибаться) должно быть 16 байт. Почему он дает 12 байт? Другой...
1159 просмотров
schedule 09.07.2022

Присвоение и получение значений объединения, ввод слов
У меня есть союз, хорошо. Этот союз находится внутри структуры, и этот союз безымянный (что-то вроде этого). typedef enum TYPES {INT, FLOAT, CHAR, POINTER TO FUNCTION /* Please pay attention on this */}; typedef struct { TYPES type; union...
540 просмотров
schedule 20.06.2023

Союзы, используемые как классы/структуры
Я пытался узнать больше об объединениях и их полезности, когда был удивлен, что следующий код совершенно корректен и работает точно так, как ожидалось: template <class T> union Foo { T a; float b; Foo(const T& value)...
271 просмотров
schedule 11.07.2023