C++/Union

Материал из Энциклопедия о программировании
Перейти к: навигация, поиск

Объединения (union) в C++ — это тип класса, в котором все данные разделяют одну и туже область памяти. В языке c++ объединение может включать как функции-, так и данные- члены. Все члены объединения открыты по умолчанию. Для создания закрытых элементов необходимо использовать ключевое слово private. Общая форма объявления объединения выглядит следующим образом.

Объединения в основном давно не используются на практике так как являются устаревшими типами классов и имеют ряд существенных ограничений. E.g. член объединения не может иметь конструктор копий, в противном случае будет ошибка компилятора C2621 — член «член» объединения «объединение» имеет конструктор копий. I.e. создать в объединении (добавить в объединение) какой-нибудь член сложного типа/вроде QString (строки в фреймоврке Qt) не получится.

Вместо объединений рекомендуется использовать другие более новые типы классов, i.e. структуры (struct) или классы (class).

Links

Это незаконченная статья. Вы можете помочь, исправив и дополнив её.
Шаблон:Language