【发布时间】:2017-08-05 13:39:29
【问题描述】:
用一个函数,可以写:
template <class T> void f(T&& x) {myfunction(std::forward<T>(x));}
但是对于 lambda,我们没有 T:
auto f = [](auto&& x){myfunction(std::forward</*?*/>(x));}
如何在 lambda 中进行完美转发? decltype(x) 是否作为 std::forward 中的类型工作?
【问题讨论】:
-
相关问题:在这种情况下
static_cast可以使用,但是当使用T时,这是不可能的。 c++11 - C++ std::forward<T> vs static_cast<T> - Stack Overflow
标签: c++ lambda c++14 decltype forwarding-reference