Вопросы по теме 'unions'
Определение / объявление анонимного объединения в макросе GNU vs VS2008
Я пытаюсь изменить специальный файл заголовка IAR для lpc2138, чтобы он мог компилироваться с Visual Studio 2008 (для включения совместимого модульного тестирования).
Моя проблема связана с преобразованием определений регистров, чтобы они были...
1827 просмотров
schedule
28.02.2022
проблемы выравнивания памяти с объединением
Есть ли гарантия, что память для этого объекта будет правильно выровнена, если мы создадим объект этого типа в стеке?
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 просмотров
schedule
03.02.2023
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