是否可以为此数据类型编写模板定义?
myclass<int, myclass<int> > data;
第二个模板变量应该是可选的,默认值为相同类型。
澄清
现在我使用这个定义:
class defaultClass { };
template <typename T, typename C=defaultClass>
class myclass { ... };
我想预先确定defaultClass
是myclass<T>
我希望实现类似自动实现的属性:第二个参数应该是定义包装变量的上下文。如果上下文被省略,它应该在模板类本身创建的对象中。 (我意识到它可以用另一种方式解决,这只是用例。)
答案 0 :(得分:2)
看起来与
非常相似http://en.wikipedia.org/wiki/Curiously_recurring_template_pattern
您可以通过创建具有模板基类型的类层次结构来执行您想要的操作,然后您的每个类都可以从该基础派生,如
template<class T> class base { ... };
class derived: public base<derived> {...};