是否可以为此数据类型编写模板定义?
myclass<int, myclass<int> > data;
第二个模板变量应该是可选的,具有相同类型的默认值。
澄清
现在我使用这个定义:
class defaultClass { };
template <typename T, typename C=defaultClass>
class myclass { ... };
我想预定义 defaultClass
是 myclass<T>
我想实现类似自动实现的属性之类的东西:第二个参数应该是定义包装变量的上下文。如果省略上下文,则它应该位于模板类本身创建的对象中。 (我意识到可以用另一种方式解决这个问题,这只是用例。)
最佳答案
看起来很相似
http://en.wikipedia.org/wiki/Curiously_recurring_template_pattern
您可以通过使用模板基类型创建类层次结构来完成您想要的操作,然后每个类都可以从该基类派生
template<class T> class base { ... };
class derived: public base<derived> {...};
关于c++ - 递归模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10671737/