Выполнение 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

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