Подтвердить что ты не робот

Есть ли разница между структурой и объединением, если у нас есть только один член?

Я хотел бы знать разницу между структурой и объединением для одного типа данных элемента, если он есть.

4b9b3361

Ответ 1

В C: Нет. Знаменитая "космическая шутка" #define struct union почти не шутка.

В С++ 98: Unions могут иметь только члены POD, неединичные классы могут иметь произвольные члены.

В С++ 11: Союзы могут иметь произвольные элементы данных типа объекта (но не ссылочного типа), но их использование более ограничено, чем у неединичных классов. (А именно: объединение не может иметь виртуальные функции-члены, не может быть базовым классом и не может иметь базовые классы.) Кроме того, вам нужно написать еще один код, чтобы сделать работу с одним членом, а не одноуровневым классом, так как вы должны сами писать конструкторы и деструктор.