Результаты поиска по запросу "unions"
Так как этот ответ был написан (возможно), boost typeerasure позволяет вам захватывать другие свойства типов.
ариант и любой из библиотеки boost работают внутри? В проекте, над которым я работаю, я использую теговый союз. Я хочу использовать что-то еще, потому что объединения в C ++ не позволяют использовать объекты с конструкторами, деструкторами или ...
Например, вы можете поместить оператор преобразования в другой тип вашей потребности, если это имеет смысл для вашей потребности.
ли объединение в C ++ иметь функцию-член? Как существует объединение с членами данных и функциями-членами, если объект создан? Если я предполагаю, что да, то они осуществимы где угодно. Если да, то где?
timsong-cpp.github.io/cppwp/class.union#5
трите на этот код: struct A { short s; int i; }; struct B { short s; int i; }; union U { A a; B b; }; int fn() { U u; u.a.i = 1; return u.b.i; }Гарантируется ли это, чтоfn() возвращается1? Примечание: это дополнительный вопрос ...
представляют начало того же хранилища. И я не понимаю, почему, если хранение подобъекта связано с хранением содержащего объекта, хранение объекта не связано с хранением его подобъекта.
ительно этого кода: #include <string> int main() { union u { u() { i = 0; } ~u() {} int i; std::string s1; std::string s2; } u; new (&u) std::string{}; }[Intro.object] / 2 [https://timsong-cpp.github.io/cppwp/n4659/intro.object#2]Говорит, ...
Цена, которую вы платите за это, заключается в том, что вы должны вести тщательный учет. С простым старым назначением объединения данных было достаточно изменить «текущий тип», и чтение неправильного типа могло привести к искаженным данным, но не намного больше. При непростом удалении старых данных вы должны следить за текущим типом и вызывать конструкторы и деструкторы corect вручную, чтобы изменить текущий тип и правильно очистить объекты при уничтожении объединения в целом. Если вы попытаетесь прочитать или написать тип wring, могут произойти плохие вещи
ираюunrestricted unions как одна из функциональных возможностей, представленных в C ++ 11. Может ли кто-нибудь объяснить семантику и преимущества, которые она дает?
Это должно ... и это на самом деле не направлено на вас, т. Е. Для тех, кто читает эту ветку позже и может не иметь вашего опыта, я бы не хотел, чтобы они предполагали, что sizeof (int) автоматически составляет 4 байта и начать делать "умные" вещи, такие как
я есть две структуры со значениями, которые должны вычислять взвешенное среднее, как эта упрощенная версия: typedef struct { int v_move, v_read, v_suck, v_flush, v_nop, v_call; } values; typedef struct { int qtt_move, qtt_read, qtt_suck, ...
Если вы работаете на платформе glibc, вы можете посмотреть заголовочный файл ieee754.h. Он заботится о вещах с порядком байтов. Если нет, то все же, вероятно, стоит взглянуть на это.
ользую битовые поля, чтобы получить легкий доступ к библиотеке с плавающей точкой, которую я пытаюсь создать для микроконтроллера без FPU. Проблема в том, что я не могу заставить его работать с битовыми полями. Посмотри: typedef struct { union{ ...
(хотя я использовал компиляторы там, где это было не так).
ня утром у меня была беседа с коллегой относительно правильности «уловки кодирования» для определения порядка байтов. Уловка была: bool is_big_endian() { union { int i; char c[sizeof(int)]; } foo; foo.i = 1; return (foo.c[0] == 1); }Мне ...
Вы можете инициализировать целочисленный член следующим образом:
аюсь глобально инициализировать объединение, как в следующем примере: #include <cstdio> typedef union { char t[4]; int i; } a; enum { w = 5000, x, y, z }; a temp = {w}; int main() { printf("%d %d %d %d ...
Неправильно. Смотрите мой комментарий на мой ответ. ELF ABI не является официальным / нормативным для языка Си.
typedef union epoll_data { void *ptr; int fd; __uint32_t u32; __uint64_t u64; } epoll_data_t;а такжеint 4 байта, а остальные 8 байтов.__uint32_tКогда мы устанавливаем чтобыfdон лежит на первых 4 байтах или последних 4 байтах или зависит от ...