对于模板功能,我使用这样的完美转发:
template<typename T>
void f (T && v)
{
g (std::forward<T> (v));
}
如何在auto &&
lambda表达式中完善前向C++14
参数?
auto f = [] (auto && v)
{
g (std::forward<??> (v));
};
(试图google for it但但对我选择的关键字没有任何好评)
答案 0 :(得分:13)
是的,它们可以通过decltype()
说明符完美转发:
auto f = [](auto&& v)
{
g(std::forward<decltype(v)>(v));
// ~~~~~~~~~~^
};