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

Правильно ли я понимаю, что в foo(“abc”) “abc” это rvalue

выражение и я могу создать move перегрузку foo, тогда “abc” будет отдано в нее?

8 ответов

26 просмотров

Нет: строковые литералы - lvalue. Представьте, что "text" - своеобразное имя для char const[n] со static-storage-duration. Т.е. приблизительно как если бы char const[] text{"text"}; int main ( ) { foo(text); }

Да

Sergey Anisimov
Нет: строковые литералы - lvalue. Представьте, что...

Ты можеш написать && ну вообше то да const str это всегда lvalue

Дмитрий- Автор вопроса
Sergey Anisimov
Нет: строковые литералы - lvalue. Представьте, что...

Если это одноразовая строка, и я хочу ускорить программу, стоит писать foo(std::move(“abc”))?

Дмитрий
Если это одноразовая строка, и я хочу ускорить про...

Это ничего не даст: релевантное про перемещение.

Дмитрий- Автор вопроса
Sergey Anisimov
Это ничего не даст: релевантное про перемещение.

Так если у меня есть move перегрузка foo, то foo(std::move(“abc”)) позволит мне избежать копирования?

. Azmiddin
Ты можеш написать && ну вообше то да const str это...

Совсем "что угодно" - нет. Но любой объектный указатель неявно приводим к указателю на void. Т.е., например: int i; void f ( void* ); /* ... */ f(&i);

Дмитрий
Так если у меня есть move перегрузка foo, то foo(s...

Лучше почитайте сообщение, к которому я отослал, чтобы понять, что делает move(). Перегрузка не сможет воспользоваться правой ссылочностью с т.з. переиспользования какого-то, если она для массива констант.

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта