`auto &&`参数可以完美转发吗?
Can `auto &&` parameters be perfect forwarded?
对于模板函数,我使用这样的完美转发:
template<typename T>
void f (T && v)
{
g (std::forward<T> (v));
}
如何在 C++14
lambda 表达式中完善转发 auto &&
参数?
auto f = [] (auto && v)
{
g (std::forward<??> (v));
};
(尝试 google 但我选择的关键字没有获得任何好的点击率)
是的,它们可以通过 decltype()
说明符完美转发:
auto f = [](auto&& v)
{
g(std::forward<decltype(v)>(v));
// ~~~~~~~~~~^
};
对于模板函数,我使用这样的完美转发:
template<typename T>
void f (T && v)
{
g (std::forward<T> (v));
}
如何在 C++14
lambda 表达式中完善转发 auto &&
参数?
auto f = [] (auto && v)
{
g (std::forward<??> (v));
};
(尝试 google 但我选择的关键字没有获得任何好的点击率)
是的,它们可以通过 decltype()
说明符完美转发:
auto f = [](auto&& v)
{
g(std::forward<decltype(v)>(v));
// ~~~~~~~~~~^
};