水木社区手机版
首页
|版面-C++程序设计语言(CPlusPlus)|
新版wap站已上线
返回
1/1
|
转到
主题:为啥virtual clone(),返回智能指针,不能covariance?
46楼
|
ilovecpp
|
2021-05-11 10:21:23
|
展开
C++不支持。自定义类型的covariance/contravariance你得用Scala。
【 在 DoorWay 的大作中提到: 】
: virtual unique_ptr<Child> Child::Clone() override;
: 最近有这种需求,子类提供克隆方法,返回自身类型的智能指针,不行。必须返回基类的智能指针?
: 这种一般怎么设计解决?
--
FROM 58.37.58.*
48楼
|
ilovecpp
|
2021-05-11 13:40:29
|
展开
我觉得不合适。
1. scala很复杂。c++已经很复杂了,你还要再学一门同样复杂的语言吗?
2. scala,就如它名字的意思,初衷就是要用比c++更强的类型系统来支持大规模程序。但是现在哪有这么多单体大规模程序,有也多半是java和c++写的。
3. jvm上的其它语言,流行程度相对java都非常低,不如学java。
【 在 DoorWay 的大作中提到: 】
: 这语言值得投入不,我就会一点cpp,有心拓宽一点技能
--
FROM 58.37.58.*
1/1
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版