Std :: Перемещение целого диапазона экспрессии в диапазоне для LoopC++

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

Сообщение Anonymous »

В репозиториях GitHub не мало примеров, когда экспрессия диапазона в диапазоне для цикла окружена в STD :: Move , например, В Pytorch: < /p>

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

...
outputs = (*call_op)(schema, std::move(inputs), std::move(outputs));

for (auto&& output : std::move(outputs)) {
torch::jit::push(*stack, std::move(output));
}
Поскольку вывод здесь просто итерат над элементами std :: voip (выходы) , и мы имеем std :: move (output) Внутреннее тело цикла, действительно отличается от петли, действительно отличается от варианта без первого std :: move :
for (auto&& output : outputs) {
torch::jit::push(*stack, std::move(output));
}

И если да, может ли разница наблюдаться с некоторыми классами из стандартной библиотеки или только с некоторыми специально разработанными?


Подробнее здесь: https://stackoverflow.com/questions/776 ... d-for-loop
Ответить

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

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

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

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

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