看了。真过瘾。
但我看完后,我觉得这个问题解决的太不满意了。我最多
采用到 clone + clone_impl的程度。 忍受那些 boilerplate code.
并且无法约束自己必须实现。
回到本初,就返回裸指针,也可以。我相信很多坚持 C with class
派,肯定也是经历了某种这个问题这么复杂吗的心路历程。
但我坚信,这玩意儿最终就有了。另一贴里我分析了,现有标准无法实现
covariance +customized type ,本质是编译器在多态现场无法知道子类返回类型T,
无法调用构造函数,构造返回结果。但covariance本身就是基于返回指针/引用的假定,所以只要解决“白马非马”的问题,即“智能指针不是指针”的问题,就OK了。
也就是另外版友说的,开个口子,令其为内置类型。从autoptr到uptr,这事儿没完。
哈哈,我盲猜反射提案通过前后吧。
【 在 leadu 的大作中提到: 】
: re,昨天只是扫了一眼回复,没有细看lz问题
: lz你是不是在问这个?
:
https://www.fluentcpp.com/2017/09/12/how-to-return-a-smart-pointer-and-use-covariance/--
FROM 106.44.129.*