递归模板
Recursive template
本文关键字:递归 更新时间:2023-10-16
是否可以为此数据类型编写模板定义?
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++与Python与Ruby的性能
- 递归计数给定目录的文件和所有目录
- 如何在BST的这个简单递归实现中消除警告
- C++:正在检查LinkedList中的回文-递归方法-错误
- 递归模板化函数不能分配给具有常量限定类型"const tt &"的变量"state"
- 递归无序映射
- TSP递归解的迭代形式
- 如何在Elixir中调用递归函数并行
- 返回递归调用和仅递归调用的区别
- 数组元素打印的递归方法
- 使用递归时获取变量的奇怪值
- 如何在C++中递归地按相反顺序打印集合
- 到连接组件算法的问题(递归)
- 如何使用递归打印修改后的星号三角形图案
- 使用递归模板动态分配的多维数组
- 递归函数有效,但无法记忆
- 包含模板文件的递归会导致编译失败