|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
05.07.2016, 16:50 | #71 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
05.07.2016, 16:51 | #72 | |
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
Цитата:
в каждый момент времени нужна всего одна, но несколько переменных таскать не хочется, либо нет возможности. Закладываясь на реализацию, можно творить более изысканные вещи, правда оно будет не стандарт и UB. |
|
05.07.2016, 16:52 | #73 | |
Заблокирован
Регистрация: 06.02.2011
Сообщений: 1,999
|
Цитата:
я могу его вложить в старую профессию. тем самым заработать монетку.это сделано для того что-бы экономить память ? |
|
05.07.2016, 17:00 | #74 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
самое явное что я помню это то что с помощью юниона можно было легко обернуть вещи как
структура пакета вида: <type><data> и собственно тогда не приходится работать с указателями и кастом. (или когда работал на низком уровне с процем и заполнял таблицу прерываний, там правда еще и битовые поля были) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
05.07.2016, 17:02 | #75 | |
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
Цитата:
Также, например, можно "унифицировать" интерфейс. Посмотрите, например, исходники SFML, там в основе sf::Event лежит именно Union. Вот Вам и реальное применение. |
|
05.07.2016, 17:05 | #76 |
Заблокирован
Регистрация: 06.02.2011
Сообщений: 1,999
|
ну а какой-то жиденький примерчик есть ?
что-бы можно было видеть что там на самом деле происходит. конструктор у нее есть ? |
05.07.2016, 17:42 | #77 | |
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
Цитата:
Там очень даже хороший пример использования. |
|
06.07.2016, 11:55 | #78 |
Заблокирован
Регистрация: 06.02.2011
Сообщений: 1,999
|
Жаль что тут никто не вкурсе что union это парадигма которая использовалась
еще в си. Код:
a = 200 b = 500.78 *************************** a = -515396076 b = 500.78 |
06.07.2016, 12:04 | #79 | |
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
Цитата:
Вы ж кричите ,что знаете c++, но при этом первый раз в глаза union видите, какой смысл вообще что-то объяснять и рассказывать? Как об стенку горох же. Плюс ко всему, код Ваш содержит UB: Код:
Так что если установили одно "поле", то чтение из других "полей" - UB. Хотя, в большинстве случаев оно прокатит, но как только случай будет сложнее и/или включаться какие-нибудь особые оптимизации - всё может поломаться к чертям. |
|
06.07.2016, 12:05 | #80 |
Заблокирован
Регистрация: 06.02.2011
Сообщений: 1,999
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Стандартные средства = бесконечный полет фантазии. | Alex Cones | Софт | 2 | 27.07.2009 17:10 |
Мои статьи про работу программистов | Юлия_shell | Обсуждение статей | 2 | 27.04.2009 18:41 |