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

Если функция возвращает T&&, правильно ли будет делать return

T(blah, blah); или return std::move(T(blah, blah))?

11 ответов

7 просмотров

Неправильно

Eyed-Shovel Автор вопроса
Ilya Zviagin
Неправильно

А как правильно?

Eyed Shovel
А как правильно?

А хрен знает че те надо...

Eyed-Shovel Автор вопроса
Ilya Zviagin
А хрен знает че те надо...

Я извращенец, простите...

Правильно скорее всего тут возвращать по значению

Eyed Shovel
Два копирования. Класса

Читать вот тут https://en.cppreference.com/w/cpp/language/copy_elision

Eyed-Shovel Автор вопроса
Stas
Читать вот тут https://en.cppreference.com/w/cpp/l...

Круто. Но становится тяжело понимать, когда элизия есть, а когда надо std::move. Нет каких-либо вариантов проверить, происходит копирование или нет?

Eyed Shovel
Круто. Но становится тяжело понимать, когда элизия...

просто запомни, что делать return std::move(obj); нельзя. этим ты блокируешь элизию

Eyed-Shovel Автор вопроса
Stas
просто запомни, что делать return std::move(obj); ...

Там ещё несколько других вариантов. std::vector<T> i = std::vector<T>(3);

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

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

Всем привет, на линуксе лучше на fasm или nasm учиться писать для начала ?
meszjol
14
Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
было так ;void set_http_ver(RESPD* ptr, char* version, uint32_t length) // example: 'RTSP/1.1 ' set_http_ver: mov eax, [esp + 4] mov ecx, [esp + 8] ...
Mixail Frolov
5
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Гайз, кто-нибудь пробовал запустить probe-rs под камень, которого нет в probe-rs? Мб есть какой-нибудь пример у кого... Через target-gen попробовал сгенерировать chip-descript...
Максим Смирнов
2
зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
Evo 1.4.34 PHP 7.4 Все работало штатно. На ровном месте SimpleGallery начал выдавать ошибку Что может быть? Уже все переустановил по новой. Места хватает. Хостинг reg.ru
Paul Savchenkov
6
здравствуйте. совершаю вот такую вещь: strcpy(line, (char)current_number); где current number — неподписанный шорт, line — массив чаров. ругань следующая: main.c:29:30: error...
Roberto's Ширгозиев
13
Карта сайта