|
-22 / 5 / 0
Регистрация: 15.08.2014
Сообщений: 516
|
||||||
Как работает перемещение и rvalue в моем примере ?06.07.2024, 22:17. Показов 2012. Ответов 22
Метки нет (Все метки)
Добрый вечер!
Помогите, пожалуйста, понять rvalue и семантику перемещения на следующем примере: насколько я понимаю такого рода пример должен приводить к перемещению значения строки s, т.е. она должна остаться пустой, однако этого не происходит. Почему ? В этом примере это вообще невозможно, он некорректен ? Или возможно, но я что-то не так сделал ?
0
|
||||||
| 06.07.2024, 22:17 | |
|
Ответы с готовыми решениями:
22
Объясните как работает полиморфизм на моем примере
|
|
Вездепух
13229 / 6861 / 1827
Регистрация: 18.10.2014
Сообщений: 17,393
|
||
| 08.07.2024, 22:04 | ||
barfoo нет необходимости модифицировать свой параметр, то тогда достаточно одного варианта - barfoo(const A &).А вот если функции barfoo нужно модифицировать свой параметр, то вариант barfoo(const A &) будет скорее всего вынужден сделать копию своего параметра внутри функции. То есть копирование при этом все-таки будет, просто оно будет упрятано внутрь функции, а не привязано к параметру.В такой ситуации может оказаться разумнее написать просто одну-единственную barfoo(A) вместо двух вариантов, т.е. с передачей по значению. Эффективность варианта barfoo(const A &) при этом не упадет, ибо копирование этот вариант и так делал. Оно теперь просто переместилось на параметр.Эффективность варианта barfoo(A &&) немножко упадет, ибо в исходном варианте перемещение было не нужно, а здесь понадобится одно перемещение. Но в большинстве случаев цента такого перемещения - невелика, а взамен мы получаем одну функцию вместо двух. В случае, когда параметров много, это также позволяет избежать комбинаторного взрыва вариантов.Поэтому общее правило таково: если вам нужно выжать последние такты производительности на основе move semantics, то пишите две функции: const A & и A &&. А если такого "выжимания" не требуется (что составляет 99%) - пишите одну с передачей по значению A. Вы получите практически всё от move semantics, но без необходимости писать две функции.
1
|
||
|
фрилансер
6506 / 5751 / 1134
Регистрация: 11.10.2019
Сообщений: 15,399
|
|
| 09.07.2024, 08:06 | |
|
0
|
|
|
Вездепух
13229 / 6861 / 1827
Регистрация: 18.10.2014
Сообщений: 17,393
|
||
| 09.07.2024, 08:12 | ||
|
0
|
||
| 09.07.2024, 08:12 | |
|
Как использовать пример наследование моем примере? Обьясните как дублировать...на моём примере пожалуйста!!! Как работать с двумерными массивами через указатель на моем примере? Не работает javasript анимация на моем сайте. На отдельной html странице работает, на моем не хочет Как сделать так, чтобы айдишники самостоятельно проставлялись? покажите пожалуйста на моем примере Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
Программный домашний кинотеатр
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 и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|