|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
|
rvalue ссылки17.12.2019, 11:36. Показов 8490. Ответов 93
Метки нет (Все метки)
1
|
|
| 17.12.2019, 11:36 | |
|
Ответы с готовыми решениями:
93
Зачем нужны rvalue ссылки, если есть универсальные ссылки Ссылки от rvalue
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|
| 18.12.2019, 15:27 | |
|
1
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||||||||||||
| 18.12.2019, 15:33 | |||||||||||||||||
|
очень просто: без него работать не будет. нет никакого смысла реализовывать пользовательский оператор приведения в ситуациях, когда и без него все прекрасно работает. пользовательский оператор нужен тогда, когда нужно выполнить какие то необычные действия. например, привести теплое к мягкому. допустим есть у тебя супер-пупер новороченный класс строки.
и ничего не знает по твой класс строки. но ничего, говоришь ты, ловкость рук, и никакого мошенничества:
operator const char*() такой трюк бы не прокатил.
1
|
|||||||||||||||||
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
||
| 18.12.2019, 15:35 [ТС] | ||
|
0
|
||
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
||||||
| 18.12.2019, 15:45 [ТС] | ||||||
|
DrOffset, а возможно как-то создать шаблонный оператор приведения типов ? ЧТобы он работал для всех типов(большинства ,ато мало ли)
Добавлено через 2 минуты что-то типа
0
|
||||||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|
| 18.12.2019, 15:53 | |
|
0
|
|
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
||
| 18.12.2019, 15:57 [ТС] | ||
|
Добавлено через 1 минуту DrOffset, Если что под "шаблонный" я имел ввиду не такой же о котором все время речь шла ,а "универсальный"
0
|
||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|
| 18.12.2019, 15:57 | |
|
0
|
|
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
||||||||||||
| 18.12.2019, 16:04 [ТС] | ||||||||||||
|
DrOffset,
чтобы было что-то типа
0
|
||||||||||||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|||||||
| 18.12.2019, 16:09 | |||||||
|
Одинаково хорошо подходит конструктор для int (T = int в operator T)и конструктор для Widget const & (T = Widget в operator T)Чтобы ваш код сработал, нужно эту неоднозначность устранить, например так:
Посмотрите, например, старые книги С. Мейерса: "35 и 55 советов". Там это подробно описывается.
1
|
|||||||
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
|
| 18.12.2019, 16:26 [ТС] | |
|
DrOffset, а как правильно вызывать этот оператор , с помощью "=" или "()"? Насколько я понимаю то первый вариант будет правильнее т.к. в первом варианте не ругается на конструктор значит вызывается оператор ,но если я попытаюсь использовать прямую инициализацию то вызовется конструктор вместо оператора ,но если этого конструктора нет при прямой инициализации вызывается оператор
0
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||
| 18.12.2019, 16:30 | ||
|
Абстрактно правильно и так и так. Но смысл будет разный. Если оставить круглые скобки, то неоднозначность сохранится, т.к. вы явно запрашиваете инициализацию объекта при наличии двух равнозначных вариантов преобразования. С знаком = у вас вариант преобразования через int недоступен, потому что помечен explicit.
0
|
||
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
||||||
| 18.12.2019, 16:33 [ТС] | ||||||
|
DrOffset, если взять вот такой вариант
0
|
||||||
|
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,361
|
|
| 19.12.2019, 18:54 | |
|
Тема себя исчерпала, в новых сообщениях ничего полезного нет, потому я ее закрываю.
0
|
|
| 19.12.2019, 18:54 | |
|
Rvalue и lvalue ссылки
Запретить initializer-list конструктору принимать rvalue значения/ссылки
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
|
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения:
- добавлена многоязычность
- добавлено снятие скриншотов
- добавлено поддержание бафов хождения по воде (для жреца, дк и шамана)
- и так, по. . .
|