类如:
class A;
class B: inline A
C++中泛滥的模板编程,很大一部分原因为了效率,避免使用接口和继承的概念。
同时为了对模板进行约束,又引入type_traits,concept这些机制
我想引入一种新的方式,即“内联继承”
基类A定义 需要的接口,或者说“concept”,
子类B “内联继承”A, 表明B尊重A的行为方式,可以当作A一样使用。
但是为了效率,继承关系只在编译期存在,编译后,A 内联到 B中, A的方法和属性完全展开到B中,这样就避免了继承的开销。
但是在语法层面,继承关系是存在的,可以定义许多语法层面的“概念”和接口,这样就可以减少很多模板的使用。
当然,这个机制怎么处理虚函数、重载、多继承这些细节,需要进一步研究。
但是这种想法是不是有一定的可行性?
--
FROM 223.72.41.*