class ContainerBase {
class Node {
Node next, prev;
... // 类型无关方法
}
...
}
class Container(T) : ContainerBase {
class Node : ContainerBase.Node {
T payload;
... // 特定T方法
}//根据情况而变
...
}//类似瓜哇,减少代码膨胀,又保留类型信息.
通过自省
,执行特定类型
操作,根据属性
生成不同代码.由于每个模板实例化都不同,可在类型参数上灵活地进行完全不同的操作,与其他实例无关.