可以从函数中获取函数的返回类型吗?

Bee*_*ope 42 c++ c++11 trailing-return-type

可以在函数内以简单的方式获得函数的返回类型吗?

例如,给定:

template <typename P>
static inline auto foo(P p) -> typename std::remove_reference<decltype(*p)>::type {
    typename std::remove_reference<decltype(*p)>::type f{};  // <-- here

    ...
}
Run Code Online (Sandbox Code Playgroud)

在C++ 11可以参考我的大讨厌的返回类型foo,内foo本身,而无需重复它,在线条为标志// <-- here

Rak*_*111 50

用a调用该函数decltype.

decltype(foo(p)) f{};
Run Code Online (Sandbox Code Playgroud)

  • 生活变得容易``decltype`;) (6认同)