Russian Qt Forum
Ноябрь 23, 2024, 08:18 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Анонимный union  (Прочитано 4348 раз)
OKTA
Гость
« : Апрель 23, 2014, 12:53 »

ТОварищи, подскажите. Правильно ли я понимаю? Если в классе лежит анонимный union с несколькими полями, то мне надо делать несколько конструкторов для каждого из полей union?
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #1 : Апрель 23, 2014, 14:52 »

"union can't have non-trivial members" - ничего сложнее POD туда не поместить. А жаль (раньше можно было)
Записан
OKTA
Гость
« Ответ #2 : Апрель 23, 2014, 15:06 »

Имел ввиду другое - конструктор самого класса, чтобы инициализировать объекты в union, но проблема отпала.
Кстати QList разве простая структура? Сидит в union внутри класса и не жалуется.
Проблема другая появилась - инициализировать можно только один объект в union =(
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #3 : Апрель 23, 2014, 15:15 »

Имел ввиду другое - конструктор самого класса, чтобы инициализировать объекты в union, но проблема отпала.
Кстати QList разве простая структура? Сидит в union внутри класса и не жалуется.
Не сидит (то наверное "самым педантичным"  Улыбающийся компилили). Указатель - пожалуйста

Проблема другая появилась - инициализировать можно только один объект в union =(
Да, и только первый
Записан
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2095



Просмотр профиля
« Ответ #4 : Апрель 23, 2014, 15:28 »

Имел ввиду другое - конструктор самого класса, чтобы инициализировать объекты в union, но проблема отпала.
Кстати QList разве простая структура? Сидит в union внутри класса и не жалуется.
Не сидит (то наверное "самым педантичным"  Улыбающийся компилили). Указатель - пожалуйста

http://en.cppreference.com/w/cpp/language/union
Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
OKTA
Гость
« Ответ #5 : Апрель 23, 2014, 15:30 »

Ваша правда, указатель - послеобеденная дрема сказывается  Смеющийся
Ограничения на union думаю такие, потому что иначе это был бы крайне опасный инструмент - совсем просто испортить память.
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #6 : Апрель 23, 2014, 15:33 »

http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%81%D1%82%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85#.D0.92_C.2B.2B11
Записан
OKTA
Гость
« Ответ #7 : Апрель 23, 2014, 15:37 »

Спасибо за ссылки, изучил  Подмигивающий
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.11 секунд. Запросов: 23.