Выполнение Std :: Перемещение в сегмент инициализации конструкторовC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Выполнение Std :: Перемещение в сегмент инициализации конструкторов

Сообщение Anonymous »

У меня есть проблема с рекомендацией Clang-tidys < /p>

clang-tidy: arg передается значением и используется только один раз; Рассмотрим перемещение.

Код: Выделить всё

struct S{
kinda_heavy obj;
S(kinda_heavy heavy):obj(heavy){}
void do_stuff();
};
< /code>
Я ожидаю, что вызывающий абонент будет использовать аргумент x-значения. < /p>
S app = S(get_kinda_heavy());
< /code>
или, может быть, вызывающий его будет использовать как < /p>
{
auto env = get_kinda_heavy();
S s{env};
s.do_stuff();
}
Я с впечатлением, что не копирование Env не будет иметь место здесь при нормальных обстоятельствах, то есть абонент поймет, будет ли копия или нет. CODE. При каких обстоятельствах это операция с нулевой копией?>

Подробнее здесь: https://stackoverflow.com/questions/796 ... on-segment
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»