Результаты поиска по запросу "unions"

1 ответ

Доступ к неактивному члену одного типа в союзах

У меня есть что-то вроде этого:

3 ответа

Разъяснение на примере союзов в стандарте C11

Следующий пример приведен в стандарте C11, 6.5.2.3Следующее не является допустимым фрагментом (потому что тип объединения не виден внутри функции f):

5 ответов

Союзы в союзах

В C возможно ли определить союз в другом союзе? Если нет, то почему это невозможно? Или, если да, где это можно использовать?

ТОП публикаций

4 ответа

memcpy/memmove to a union member, does this set the 'active' member?

Важное уточнение: некоторые комментаторы, кажется, думают, что я копирую из профсоюза. Посмотри внимательно на

2 ответа

C ++: объединения с методами?

Что-то не так с объединением, имеющим один или несколько методов? Или что-нибудь, чтобы остерегаться? (Я вижу, что конструкторы / деструкторы являются пробле...

6 ответов

Да! Ответ Тома Андерсона, на который принят ответ, говорит точно так же.

3 ответа

Пожалуйста, объясните более подробно, что вы делаете со значениями.

0 ответов

зачем гадать, если можно заглянуть в шапку. я многому научился (плохо), читая заголовки стандартной библиотеки. Это зависит от реализации, конечно

н классаstd::variant представляет типобезопасный союз. Экземплярstd::variant в любой момент времени либо содержит значение одного из его альтернативных типов, либо он не имеет значения. sizeof(std::variant<float, int32_t, double>) == 16Но если ...

1 ответ

 равен UB, если адрес массива и адрес его первого элемента совпадают.

ли я положитьT и завернутыйT вunion и проверять их как мне нравится? union Example { T value; struct Wrapped { T wrapped; } wrapper; }; // for simplicity T = int Example ex; ex.value = 12; cout << ex.wrapper.wrapped; // ? Стандарты C ++ 11 ...

1 ответ

Хорошо, я понял, спасибо.

вопрос следует за этимодин [https://stackoverflow.com/questions/48188737/is-pointer-arithmetic-on-inactive-member-of-a-union-ub] Давайте рассмотрим этот пример кода: struct sso { union{ struct { char* ptr; char size_r[8]; } large_str; ...