泛型中型是指类型
c++等其他语言,有编译期生成新类型的语法
比如
template<class T,bool is_A>
class SomeType;
这样定义的SomeType是一个类型集合,它由2个变量来确定具体类型
又比如支持设计编译期对生成类型的概念与约束的检测与推导机制
因此,写起来更符合人类思考顺序,也觉得方便
代价是编译器的大量类型和代码推导生成工作
以及,嵌套很深层次和太多模板参数时,代码书写难度急剧提高
满屏幕的< < < > > >
而C语言出发点是对计算机系统的操作抽象;对于类型集合,概念约束这些
泛化,或说是抽象描述能力,从语法上就没有涉及。
这也是为什么用void* 和字符串宏可以做到部分泛型,但丑陋
如这种
#define f(type) op_##type {type * _inst;}
....
【 在 hothail 的大作中提到: 】
: 隐约记得上学的时候,老师说过
: C通过 宏的方式, 可以做,甚至可以多OOP
: 但。。。。丑陋啊
: ...................
--
FROM 120.231.170.*