问题描述
我们如何使用 std::forward 为以下代码转发函数自动参数?
void push_value(std::vector<MyType>& vec,auto&& value)
{
vec.emplace_back(std::forward<?>(value));
}
解决方法
您想要 decltype(value)(value)
(没有 forward
)。
有些人更喜欢写 std::forward<decltype(value)>(value)
,但它的作用完全相同,forward
是多余的。