gpt4 book ai didi

c++ - 递归模板

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:55:17 29 4
gpt4 key购买 nike

是否可以为此数据类型编写模板定义?

myclass<int, myclass<int> > data;

第二个模板变量应该是可选的,具有相同类型的默认值。

澄清

现在我使用这个定义:

class defaultClass { };
template <typename T, typename C=defaultClass>
class myclass { ... };

我想预定义 defaultClassmyclass<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/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com