|
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
|
|||||||||||
Еще немного про конструкторы обобщенных классов14.01.2017, 08:43. Показов 2440. Ответов 32
Метки конструкторы (Все метки)
Пытаюсь проинициализировать объект обобщенного класса, параметром которого может выступать ссылка.
Если убрать
Как строить такие объекты?
0
|
|||||||||||
| 14.01.2017, 08:43 | |
|
Ответы с готовыми решениями:
32
Конструкторы классов Конструкторы классов Еще немного по теории |
|
Любитель чаепитий
|
|||
| 14.01.2017, 12:05 | |||
|
0
|
|||
|
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
|
||||||
| 14.01.2017, 12:13 [ТС] | ||||||
|
Неплохо.
Добавлено через 2 минуты GbaLog-, я микроконтроллерщик. Компилятор gcc-avr, например вообще не поддерживает исключения. Да и для других ядер исключения местами тяжеловесны. И потом, я вижу преимущества у этого метода. Например в том, что исключения точно не вываляться за пределы safe ветки. Так или иначе, я попробую. Никто от этого не умрёт.
0
|
||||||
|
Любитель чаепитий
|
||||||
| 14.01.2017, 12:14 | ||||||
|
Или можно так:
0
|
||||||
|
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
|
||||||
| 14.01.2017, 13:15 [ТС] | ||||||
|
Вообще, any это плохо, наверное... Он наверняка какие-то преобразования внутри делает
Добавлено через 51 минуту Не, не, не. Там будет union возвращаемого типа и типа error. И переменная, указывающая, кем оно является. Впринципе оно уже работает. В конечном итоге остановился на таком варианте (Многословно, но поскольку я не очень хорошо в шаблоны, думаю, я с этим совладаю). Кроме того, мне нужно будет вызывать какие-то деструкторы для ссылочных типов. А тут я их смогу переопределять свободно:
0
|
||||||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||||||||
| 14.01.2017, 15:53 | ||||||||
|
Добавлено через 9 минут Например:
0
|
||||||||
|
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
|
|
| 14.01.2017, 22:48 [ТС] | |
|
Если эта висячая ссылка получается и при попытке обычного return, то собственно так и должно быть. То есть это не мой UB а стандартный. Если обычный возврат ссылки приводит к UB, то и обреззалтченный тоже должен. Но, это все конечно требует анализа.
Добавлено через 2 минуты А UT я перепишу на ремув референс, наверное...
0
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||||||||||||||
| 15.01.2017, 01:19 | ||||||||||||||
|
Добавлено через 10 минут Вот этот код абсолютно легальный, т.к. здесь продлевается время жизни временного объекта:
r и корректно работать через нее с объектом, а во втором случае объект уже будет мертв.12.2/5
0
|
||||||||||||||
|
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
|
|
| 15.01.2017, 09:35 [ТС] | |
|
Хм... Я понял.
0
|
|
|
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
|
|||||||||||
| 22.01.2017, 18:25 [ТС] | |||||||||||
|
DrOffset, но ведь при возвращении из функции, объект на стеке, на который ссылается ссылка, все равно будет уничтожен, верно? то есть после return жизнь объекта не продлевается. А значит, разницы в поведении не будет, если мой объект кнструируется только при return. Верно?
0
|
|||||||||||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||||
| 22.01.2017, 18:58 | ||||
|
Но я вообще-то говорил про другой случай. И уже дал это понять фразой выше PS. Почти везде в твоих кодах ты совершенно неуместно применяешь std::move. Наверное надо с этим что-то сделать?
0
|
||||
|
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
|
||||||||||||
| 23.01.2017, 12:32 [ТС] | ||||||||||||
|
ОК. Я понял, почему и когда возникает UB.
Объекты данного класса никогда не будут конструироваться явно.
move - это от экспериментов. Я не очень хорошо понимаю, в каких случаях стоит использовать move, а в каких можно положиться на NRVO... А в каких вообще не нужно этого всего делать. Это тоже предмет текущего исследования...
0
|
||||||||||||
|
Каждому свое
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
|
||
| 24.01.2017, 19:06 | ||
|
Mirmik,
0
|
||
|
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
|
|
| 25.01.2017, 10:39 [ТС] | |
|
Благодарю. Посмотрю обязательно.
0
|
|
| 25.01.2017, 10:39 | |
|
Наследование классов и конструкторы Классы, конструкторы, деструкторы, методы классов
Про линковку библиотек и про архитектуру иерархии классов Как создавать конструкторы, что бы использовать переменные из любых классов? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|