Вопросы по теме 'unions'
Союз - бесполезный анахронизм или полезный олдскульный трюк?
Недавно я наткнулся на отличную книгу о структурах данных " Структуры данных с использованием C "(c) 1991 г. на книжной распродаже в местной библиотеке за всего 2 доллара . Как следует из названия, в книге рассматриваются структуры данных,...
4103 просмотров
schedule
29.07.2022
проблема с quadTree и объединением
у меня есть следующая структура, похожая на дерево квадрантов, в которой каждая ячейка может быть либо внутренним узлом, либо листом. если это лист, он может хранить цвет. если это внутренний узел, он хранит указатели на четырех дочерних элементов...
584 просмотров
schedule
11.04.2022
использование объединения в yacc для структур
Я немного запутался в том, как указать тип члена моей грамматики. Я хочу объявить prog и decls как ASTNode. Я собираюсь использовать эти элементы для добавления в список и т. д. Но yacc не может распознать их как ASTNode, и я получаю ошибки типа....
1779 просмотров
schedule
04.09.2022
Назначение в союзы членов
Скажем, у меня есть класс с членами союза:
class ClassX {
public:
union {
StructA * A;
StructB * B;
};
}
Если у меня есть указатели x1 и x2 на разные объекты ClassX, выполните следующие действия:
x1->A = x2->A;...
172 просмотров
schedule
13.01.2023
Преимущества использования объединения, когда то же самое можно сделать с помощью struct - C
Мне трудно понять, как использовать union в C. Я прочитал здесь много сообщений на SO по этому вопросу. Но ни один из них не объясняет, почему union предпочтительнее, когда того же можно добиться с помощью структуры.
Цитата из K&R
В...
8433 просмотров
schedule
29.01.2023
Реализация перечисления и объединения C в Python
Я пытаюсь придумать код C, чтобы перенести его на Python. Код предназначен для чтения проприетарного формата файла двоичных данных. До сих пор это было просто - в основном это были структуры, и я использовал библиотеку struct , чтобы запрашивать...
6080 просмотров
schedule
23.04.2022
Битовые поля в C со структурой, содержащей объединение структур
Хм... почему, когда я печатаю sizeof(struct MyStruct) , для этого кода выводится 3 (вместо 2)?
#pragma pack(push, 1)
struct MyStruct
{
unsigned char a : 6;
union
{
struct
{...
5931 просмотров
schedule
21.03.2023
Доступ к членам структуры, как если бы они были одним массивом?
У меня есть две структуры со значениями, которые должны вычислять усредненное значение, как в этой упрощенной версии:
typedef struct
{
int v_move, v_read, v_suck, v_flush, v_nop, v_call;
} values;
typedef struct
{
int qtt_move, qtt_read,...
21846 просмотров
schedule
10.05.2022
Является ли объединение более эффективным, чем сдвиг в современных компиляторах?
Рассмотрим простой код:
UINT64 result;
UINT32 high, low;
...
result = ((UINT64)high << 32) | (UINT64)low;
Превращают ли современные компиляторы это в настоящий сдвиг ствола вверх или оптимизируют его до простой копии в нужное место?...
2089 просмотров
schedule
08.04.2024
Объединение одного типа в C++
Всякий раз, когда я вижу примеры союзов, они всегда разных типов. Например, из MSDN:
// declaring_a_union.cpp
union DATATYPE // Declare union type
{
char ch;
int i;
long l;
float f;
double d;
} var1; //...
2026 просмотров
schedule
29.08.2022
Конструктор и анонимный союз с членами const
Возможно ли иметь анонимный союз с членами const? У меня есть следующее:
struct Bar {
union {
struct { const int x, y; };
const int xy[2];
};
Bar() : x(1), y(2) {}
};
С G++ 4.5 я получаю сообщение об ошибке:
error:...
1203 просмотров
schedule
21.09.2022
Удаление псевдонима указателя
Делая это:
union{
int * integer;
char * character;
} u;
u.integer = new int;
delete u.character;
u.integer = new int[5];
delete [] u.character;
Я предполагаю, что это не сработает, если какой-либо из этих типов имеет...
617 просмотров
schedule
04.05.2023
союз: странное поведение [c]
Сказано: "Объединение — это особый тип класса, который может одновременно содержать только один нестатический член данных". ( http://en.cppreference.com/w/cpp/language/union )
Но как он может содержать больше одного члена?
y имеет 8...
197 просмотров
schedule
17.03.2023
Boost Variant по сути является союзом в c/c++?
Мне интересно, в чем разница между Boost Variant и типом данных union в c/С++. Я знаю, что тип данных union занимает ту же ячейку памяти, а самый большой тип данных в области памяти занимает общий объем используемой памяти, например.
union...
3572 просмотров
schedule
01.11.2022
C# структуры pinvoke с объединением и массивами
мне не удается определить правильный код С# для работы с библиотекой С++, которая определяет сложную структуру с объединением и массивами, я продолжаю получать некоторые исключения памяти при выполнении кода С++, и я почти уверен, что это из-за этого....
1417 просмотров
schedule
10.10.2022
Union. Как узнать, какой параметр объединения используется?
У меня есть следующий фрагмент кода:
struct sched_param {
union {
int sched_priority;
struct rcost_sched_param rcost_params;
};
};
Я хочу знать, какой из двух параметров является «активным». Есть ли способ сделать...
80 просмотров
schedule
04.02.2023
Работа с объединением структур в C
Скажем, у меня есть следующие типы:
typedef struct TYPEA
{
int type;
char[12] id;
} TYPEA;
typedef struct TYPEB
{
int type;
int value;
} TYPEB;
Я хочу использовать создание объединения этих типов и 'int', чтобы я мог получить...
45914 просмотров
schedule
11.10.2022
Отправка данных через tcp ip с использованием struct и union
Извините за мой плохой английский! Я разрабатываю программу на C для отправки данных через tcp ip. Эта программа должна использовать struct и union следующим образом (я приведу только важную часть кода):
***Сервер, который отправляет данные:...
1330 просмотров
schedule
30.04.2022
Ошибка: переопределение союза
В следующем коде:
typedef struct
{
union U
{
int a;
char b;
}U1;
}A;
typedef struct
{
union U
{
int a;
char b;
}U1;
}B;
Компилятор выдает ошибку...
1596 просмотров
schedule
31.01.2023
Передача float в качестве аргумента искажает значение
В моей функции main я использую следующий код
float f = 32.0;
func("test string %f", f);
func (это все примеры имен) объявляется следующим образом
void func(const char *str, ...);
В моей реализации этой функции я использую...
1243 просмотров
schedule
07.01.2023