8

即:

[](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

但我真的希望有一个更简单的选择!

4

1 回答 1

10

std::decay<decltype(whatever)>::type,或者decay_t如果您的std库已更新。

它模拟各种函数参数衰减。如果您的 arg 是对函数的引用,它会处理。在对数组的引用上,它也会产生一个指针,这不太理想。

如果您想以不同的方式处理这些问题,则必须自己动手。

于 2014-06-07T03:19:03.550 回答