d作者,d中构与类2

总之,区别在于值类型,引用类型.这非常重要.
C++中,结构按值或引用类型设计.但是C++不承认差异,因此可按值传递引用,这会导致各种问题.你会看到C++迷惑,因为设计者不知道其中区别,并且脚踏两边.该混淆的常见示例放入虚函数,但忽略了使析构器.
D严格区分两者,使其既可自我记录,又能避免因误用另一个导致各种错误.
引用类型本质上是多态类型(即虚函数).继承多态性值类型毫无意义.
复制构造器对多态类型没有意义,但对值类型是有意义的.等等.
值和引用类型间强烈区别对D来说效果很好.当然,有些人仍希望鱼熊兼得,但D故意使它很难.
是的,可用ref关键字按引用传递.不过,这不是多态.
是的,可用存储类在栈上而不是GC上分配类实例.它仍然是引用类型,但编译器禁止该引用生存时间超过栈帧.如果可确定不会逃逸,Java会自动在栈上分配类.

posted @ 2022-05-16 16:14  zjh6  阅读(20)  评论(0)    收藏  举报  来源