- 主题:为啥virtual clone(),返回智能指针,不能covariance?
多写一个 dynamic_cast<> 的事,不值得吧。。
java 的 clone() 同样返回 Object, 而不是子类。
【 在 DoorWay (DoorWay) 的大作中提到: 】
: 为什么奇葩?是error-prone,还是过于精细?我听不出好坏哈
: 我调研了,希望构造函数可以virtual,是非分之想。
: 这种clone后,希望直接是Child type,调用Child 方法,还算合理的要求吧?
: ...................
--
FROM 110.85.22.*
我觉得写 c/cpp 时要不辞劳苦,把自己当成人肉编译器。追求效率和精准,而不是去追求代码的优雅。
写 python 时则相反,效率不值一分钱,代码优雅实现无误才是王道。
两个语言结合起来用,就无敌了。
【 在 DoorWay (DoorWay) 的大作中提到: 】
: 倒不是怕效率损失,工作的项目控制没有这么精细。
: 就是使用的不方便,读起来别扭,或许读的不够多。:-)
: 抑或为了形式的美感,一时思维的误区?
: ...................
--
FROM 110.85.22.*
Java 有个 Clonable 接口,里面的 clone() 方法就是返回 Object, 同样要强转。
【 在 here080 (hero080) 的大作中提到: 】
: 不是吧,java当然是返回子类了。
: java里没有值语义,全是指针,天生就covariance了
--
FROM 110.85.22.*