即:
[](auto const& foo) {
??? bar; // should be same base type as foo, minus const&
}
到目前为止,我正在使用:
typename std::remove_const<typename std::remove_reference<decltype(foo)>::type>::type combination
但我真的希望这是一个更容易的选择!
答案 0 :(得分:10)
std::decay<decltype(whatever)>::type
或decay_t
如果您的std
库已更新过。
它模拟各种函数论证衰变。它处理你的arg是否为函数引用。在引用到数组时,它也会产生一个指针,这不太理想。
如果你想以不同方式处理这些问题,你必须自己动手。