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

Ребят, кто нить может объяснить rvalue на уровне асма? Вот

lvalue как я пониаю это ссылка на данные и к ней обращаются через & чтобы данные в функцию не копировать а к rvalue обращаются типа так && только к чему обращаются не совсем понятно, к данным ссылки на данные что ли :)

10 ответов

9 просмотров

Мне кажется тебе не в этот чат с таким вопросом,могу лишь сказать,что попробуй прочитать приложение к этой книге,там как раз про move семантику пишут

Den-Fomin Автор вопроса
Danil R
Мне кажется тебе не в этот чат с таким вопросом,мо...

Я хочу просто понять куда эта rvalue ведет, на что ссылается, у сишников как то непонятно объяснение я несколько материалов посмотрел, мутно как-то мож это вообще не нужная фича какая то, но говорят память экономит

Den Fomin
Я хочу просто понять куда эта rvalue ведет, на что...

Я не спец по плюсам,не хочу тебя тоже вводить в неведение, но память она действительно экономит,считай ты вместо целой копии объекта копируешь только указатель(естественно предыдущий обнуляешь)

Den-Fomin Автор вопроса
Danil R
Я не спец по плюсам,не хочу тебя тоже вводить в не...

Так вот я понять хочу, для чего она нужна эта rvalue, для переименования ссылки на lvalue чтоли получается

Danil R
Я не спец по плюсам,не хочу тебя тоже вводить в не...

можно конечно ещё в compiler explorer вбить,но там вряд ли что-то выдаст кроме как call

Den Fomin
Так вот я понять хочу, для чего она нужна эта rval...

Я серьёзно тебе советую попробовать прочитать приложению у книжки,я тебе криво перескажу

Den-Fomin Автор вопроса
Danil R
Я серьёзно тебе советую попробовать прочитать прил...

Спасибо полистаю, но там врядли про rvalue есть, это свежая фича вроде а книжка 12 года

Den-Fomin Автор вопроса
Den Fomin
Я хочу просто понять куда эта rvalue ведет, на что...

По-моему r-value указывает на объект, точно так же как и обычная ссылка, а дополнительный '&', просто синтаксис чтобы компилятор мог по нему отличить конструктор копирования от конструктора перемещения. Два подряд '&', это не ссылка на ссылку.

ссылок на уровне асма нет. вот и все. Где-то обычные ссылки преобразуются в указатель, а где-то optimized out. Вообще люто советую юзать godbolt для этого

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

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

читать файл максимально быстро? странный вопрос))
zamtmn
50
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
буквально один оставшийся вопрос при выполнении строчки mov eax, 5 операнд "5" будет присутствовать где-либо в памяти (любой), кроме как в памяти блока .code? подвопрос: как...
12
Всем ку. Подскажите, если задекларировал массив так: int arr[10] = {1, 2, 3, 4}, то в arr[4] будет мусор или нуль?
Sasha K
14
я не понимаю mov [r11+8],rcx и прочие. мы записываем значение из rcx, куда?
Bor
15
у меня такой вопрос про память в x86 возник, может кто пояснить?.. у процессора есть (как минимум) 3 типа адресов (названия "п1", "п2", "п3" --- мои, чтобы проще было дальше)...
Toideng
5
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
А какие расширения активно используются в промышленности? Именно идейные, по типу гадт, а не всякие оверлоадедстрингс
Степан
11
у процессора есть (как минимум) 3 типа адресов (названия "п1", "п2", "п3" --- мои, чтобы проще было дальше): - "п1" --- виртуальный адрес, то есть тот, который ресолвится в "п...
Toideng
3
Guys Who’s kurdish on this group?
Hiwa Amiri
11
Карта сайта