d的插件模板当小构,类似继承,而且可以直接用名字

mixin template F(){
   int x;
   int z;
   void foo() {}
}
//这样插件,就可以替代`alias this`部分构了.
//这样,把F当作域(小构),类似,继承了一个`F`构
struct S
{
   mixin F;
}
struct T
{
   void foo2() {};
   int y;
   mixin F;
   //mixin F;
}
import core.stdc.stdio;
extern(C):
void main()
{//
    T t;
    t.foo(); //->t.s.foo();
    t.x = 5; //->t.s.x = 5;
    //S s = t; //->S s = t.s;
    printf("%i %i",S.sizeof,T.sizeof);
}

c++直接继承就行了,反正多继承.别人都说糟糕,其实,有时要用时,真的很方便.多继承有啥不好?
不就是名字冲突吗,另外取一个不就行了,难得很吗?
这里模板插件如果有模板参数,使用时,加上模板参数.
则类似,你c++继承了一个模板类.
是的,这是d继承方法.不论如何,没有抄袭,有创新点,很不错.
毕竟,完成同样的任务,不同解决方法,都值得探讨嘛.

由此,可以得出betterC的功能是不弱于C++的.真的是非常强大.

posted @ 2021-03-16 20:31  zjh6  阅读(22)  评论(0)    收藏  举报  来源