примере вызовется конструктор перемещения даже если в fun передается lvalue ? в каком тогда случае std::forward вызвал бы конструктор копирования?
Если врубить O3, ничего не произойдет и эта функция удалится
зачем тут форвард?
а ты проверь какие вообще конструкторы вызываются при работе этой функции, думаю удивишься
Потому что параметр Foo уже скопирован был, когда передавался в фукнцию ?
Обсуждают сегодня