创建与推导参数类型相同的局部变量的最简单方法是什么?

mmo*_*cny 8 c++ lambda auto c++11 argument-deduction

即:

[](auto const& foo) {
    ??? bar; // should be same base type as foo, minus const&
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,我正在使用:

typename std::remove_const<typename std::remove_reference<decltype(foo)>::type>::type combination
Run Code Online (Sandbox Code Playgroud)

但我真的希望这是一个更容易的选择!

Yak*_*ont 10

std::decay<decltype(whatever)>::type,或者decay_t您的std图书馆已经更新了.

它模拟各种函数论证衰变.它处理你的arg是否为函数引用.在引用数组上,它也产生一个指针,这不太理想.

如果你想以不同的方式处理它们,你将不得不自己动手.