invoke_result 类

确定可调用类型的返回类型,该可调用类型在编译时采用指定参数类型。 已在 C++17 中添加。

语法

template <class Callable, class... Args>
   struct invoke_result<Callable(Args...)>;

// Helper type
template<class Callable, class... Args>
   using invoke_result_t = typename invoke_result<Callable, Args...>::type;

参数

Callable
要查询的可调用类型。

参数
供可调用类型查询的参数列表的类型。

备注

使用此模板可以确定 Callable(Args...) 在编译时的结果类型,其中 Callable 和 Args 中的所有类型都是任何完整类型、未知边界数组或可能 cv 限定的 void 类模板的 type 成员在使用参数 Args.... 调用时命名 Callable 的返回类型。仅在使用参数 Args... 在未评估的上下文中调用时可调用 Callable 的情况下,才定义 type 成员。 否则,类模板没有成员 type,它允许在编译时对特定参数类型集进行 SFINAE 测试。

要求

标头:<type_traits>

命名空间: std

另请参阅

<type_traits>
invoke