170 похожих чатов

А в чем магия std::move? я смотрел его реализацию оно

просто к && кастует. как оно перемещение делает?

28 ответов

5 просмотров

std::move это тайпкаст и есть

Никак, он не перемещает. Перемещает конструктор

Denis P
Или не перемещает

перемещает, ничего не сделать это корректное перемещение)

Rustem-Gimadutdinov Автор вопроса
Constantine Drozdov
std::move это тайпкаст и есть

окей, мне приходит в функцию std::vector<char>&& v_ . Зачем мне его кастовать к std::vector<char>&& если v_ уже имеет этот тип?

Rustem Gimadutdinov
окей, мне приходит в функцию std::vector<char>&& v...

переменная v_ имеет этот тип, а выражение v_ имеет тип std::vector<char>&

Rustem Gimadutdinov
окей, мне приходит в функцию std::vector<char>&& v...

ну вот смотрите int x = 0; int & y = x; //почему в этой строке вы не кастовали int к int& ?

Rustem Gimadutdinov
окей, мне приходит в функцию std::vector<char>&& v...

Потому что у нас всего два варианта дизайна языка в следующей ситуации: void foo(std::vector<char>&& vec) { bar(vec); // copy to bar baz(vec); // move to baz } Эти операции неразличимы – мы либо должны явно указать, что копируем в первом случае, либо явно указать, что перемещаем во втором. Либо оба одновременно. По некоторым историческим причинам было выбрано решение явно требовать указание на необходимость перемещения

Rustem-Gimadutdinov Автор вопроса
Denis P
Перемещения в таком случае не было )

Конструктор вызвался – значит было с точки зрения языка вне зависимости от вкладываемой вами в это семантики

Rustem Gimadutdinov
значит это неявный каст был

Он невозможен, скажем нельзя инициализировать 0

Rustem-Gimadutdinov Автор вопроса
Constantine Drozdov
ну вот смотрите int x = 0; int & y = x; //почему в...

потому что выражение x имеет тип int& ?

Rustem Gimadutdinov
потому что выражение x имеет тип int& ?

В общем, вам нужно прочитать раздел value category

Rustem-Gimadutdinov Автор вопроса
Rustem-Gimadutdinov Автор вопроса
Constantine Drozdov
На cppreference

спасибо, почитаю

Rustem Gimadutdinov
где? в стандарте где тысячи страниц?

Стандарт для разработчиков комплиляторов и холиваров в прохе

Rustem Gimadutdinov
где? в стандарте где тысячи страниц?

Если что есть такая фещь как ctrl+f

Rustem Gimadutdinov
где? в стандарте где тысячи страниц?

Здесь для начала или в переводе этой же серии статей, я уверен, что такой был

Rustem Gimadutdinov
где? в стандарте где тысячи страниц?

Меньше двух. И прочитать всего лишь коротенький раздел

Слава
https://eel.is/c++draft/basic.lval

Это не так страшно как кажется

Похожие вопросы

Обсуждают сегодня

/////////////////////////////////////// TChart / TLineSeries - сохранение данных (текстовый файл) /////////////////////////////////////// добрый день / работа с графиком: 1....
livontiy
14
А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Мне интересно, скорее людей здесь используют D, Rust, C/C++ для решения реальных прикладных задач за деньги?)
Evil Satanson
43
кто поможет крякнуть чит? (реверс инжиринг) чтобы разблокировать премиум версию
Mёdkinson Medvezhkin
39
Господа. Кто тут шарит за оптимизацию mysql? есть небольшой заказ - сайт на дцать тысяч ресурсов - бдшка распухла - тормозит. Нужно посмотреть что можно соптимизировать - а то...
Jacov Borisov
8
Чем больше разбираюсь с интерфейсами в дельфи, тем меньше понимаю, как работает поиск имен. type IIntf = interface function GetStr: string; end; IChild = interface(I...
Jack128
9
давайте за механические клавиатуры потрём, мне тут неучтенных денег упало и их можно потратить на что-то такое, вот думаю про dark project kd87a, кто-то имеет что-то подобное?
Oleg Nosov
24
Подскажите, сейчас что то есть (JS модуль какой-нибудь), что можно использовать для: 1) переваривания javascript codа из html fileа, т.е. разбивки, на переменные, команды, бло...
Iar De
16
Вопрос по организации кода. Пилю свой велосипед логгер Есть у меня множество уровней сообщений. Я набрасываю сообщения в стринглист, а когда они нужны, вызываю их через функц...
Serjone
21
Делал сайт заказчику в 2018г. Прилетела претензия на фотку в примерах работ от copydefend (ооо "фортуна технолоджис") на 36к рублей 🙈 Конторка эта образовалась в 2023 г, и 13...
Alexander Andreev
10
Карта сайта