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

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