struct无非是个特殊的class,class里面可以定义public/private/protected的自定义类型,那么struct里也可以定义public的自定义类型,外面可以直接引用这些类型。
简化一下,去掉干扰的东西,逐步替换回去,就是:
ContinuationFutureType_t<Func, T>
= ContinuationFutureType<Func, T>::type
= Future<ContinuationReturnType<Func, T>::type>::type>
下面要分两种情况:
= Future<std::invoke_result<Func, T>::type>::type> // 默认的一般情况
= Future<std::invoke_result<Func>::type>::type> // T为void时的偏特化情况
所以ContinuationFutureType_t<Func, T>( ) 实际上就是Future<Func, T>()
Future这个不是std里的,具体要看看它的ctor代码、operator()的代码
【 在 smthxes 的大作中提到: 】
: 只是在结构里定义个类型怎么用啊?可以直接用类型生成构造函数吗?这个用法还是不太理解
: 发自「今日水木 on MHA-AL00」
--
修改:z16166 FROM 114.241.228.*
FROM 114.241.228.*