c++11之获取模板函数的参数个数和函数返回值类型

本文演示c++需要支持c++11及以上标准

  • 1.模板函数声明
template <class R, class... Args>
R getRetValue(R(*)(Args...));
  • 2.获取参数个数
template <class R, class... Args>
size_t getNumArgs(R(*)(Args...))
 {
        return sizeof...(Args);
}
  • 3.获取函数返回值类型
using ret_t = decltype(getRetValue(f));