- 主题:这代码看的晕头转向的
谢谢,我在研究一下,Future是代码里的,有点复杂,我没发上来
【 在 z16166 的大作中提到: 】
: struct无非是个特殊的class,class里面可以定义public/private/protected的自定义类型,那么struct里也可以定义public的自定义类型,外面可以直接引用这些类型。
: 简化一下,去掉干扰的东西,逐步替换回去,就是:
: ContinuationFutureType_t<Func, T>
: ...................
--
FROM 27.208.36.*
这是哪儿的代码?
我觉得using的出现,就是为了减少 type_traits,即在一个struct template里typedef类型名,方便引用。
这个using和sturct齐飞,有点把电子体温计夹腋下的感觉。
当然在c++里,我不懂的东西太多了。
【 在 smthxes 的大作中提到: 】
: template <typename Func, typename T> struct ContinuationReturnType {
: using type = typename std::invoke_result<Func, T>::type;
: };
: ...................
--
FROM 117.39.200.*
代码可以润起来吗?
可以的话给个debugger跟着走一次。
--
FROM 158.140.1.*
是个ue4的插件,就因为插件加载失败,我才迫不得已看他代码找问题,问题很诡异,比方说插件里调用了这么一段代码
std::shared_ptr<GltfContent> gltfLoader = std::make_shared<GltfContent>();
插件就不能加载成功,实际上即使在这段代码之前加个return,不执行这段代码,也不能加载成功,只有注释掉这段代码才能加载成功,想不明白是怎么回事
【 在 allegro 的大作中提到: 】
: 代码可以润起来吗?
: 可以的话给个debugger跟着走一次。
--
FROM 27.208.36.*
【 在 z16166 的大作中提到: 】
: 这个技法在模板里很常用,就是模板偏特化,最终是为了推导出花括号里面的那个type值来用。
: std库里面也大量用这种type traits技法,比如std::is_same、std::remove_reference等的实现代码
: 从你发的相关帖子看,可以先把C++11的东西学一下
: ...................
偏特化的很多场合,在有了新的 if constexpr 之后就有更加简单直观的替换者了吧?
--
FROM 222.126.245.*
大佬可以给讲讲用if constexpr怎么搞
【 在 hongdiao 的大作中提到: 】
:
: 偏特化的很多场合,在有了新的 if constexpr 之后就有更加简单直观的替换者了吧?
--
FROM 114.241.228.*
楼上说话已经很委婉了
--
FROM 124.127.145.*
c++ 真心搞不动了。
【 在 smthxes 的大作中提到: 】
: template <typename Func, typename T> struct ContinuationReturnType {
: using type = typename std::invoke_result<Func, T>::type;
: };
: ...................
--
FROM 117.147.22.*
Using type =是给了?号右边那个type一个alias name
省得以后写起来太麻烦
【 在 smthxes 的大作中提到: 】
: 查了一上午,大概明白你说的这个意思,现在主要是不明白,这个type在struct ContinuationFutureType结构里定义是咋回事?结构里不是应该定义变量和函数吗?还有最后又怎么是CesiumImpl::ContinuationFutureType_t<Func, T>()这样的方式构造和调用?ContinuationFutureType结构里没有构造函数啊
:
--
FROM 50.244.6.*
你虽然加了return
但是编译器仍然要编译
return之后的代码
你这个插件不成功的很大原因可能是
所需的content你没有放到ue 工程的资源文件夹里
【 在 smthxes 的大作中提到: 】
: 是个ue4的插件,就因为插件加载失败,我才迫不得已看他代码找问题,问题很诡异,比方说插件里调用了这么一段代码
: std::shared_ptr<GltfContent> gltfLoader = std::make_shared<GltfContent>();
: 插件就不能加载成功,实际上即使在这段代码之前加个return,不执行这段代码,也不能加载成功,只有注释掉这段代码才能加载成功,想不明白是怎么回事
: ...................
--
FROM 50.244.6.*