Ответ 1
Да, они могут быть идеально переправлены с помощью decltype()
specifier:
auto f = [](auto&& v)
{
g(std::forward<decltype(v)>(v));
// ~~~~~~~~~~^
};
Для функций шаблона я использую совершенную переадресацию следующим образом:
template<typename T>
void f (T && v)
{
g (std::forward<T> (v));
}
Как улучшить параметры вперед auto &&
в C++14
лямбда-выражениях?
auto f = [] (auto && v)
{
g (std::forward<??> (v));
};
(Пробовал в Google, но не получал никаких хороших хитов по ключевым словам, которые я выбрал)
Да, они могут быть идеально переправлены с помощью decltype()
specifier:
auto f = [](auto&& v)
{
g(std::forward<decltype(v)>(v));
// ~~~~~~~~~~^
};