1
我想写一个类,使得它的内部实现取决于模板参数。举例来说(我不知道这是可能的),说我可以写这样的:如何实现依赖于模板参数的内部实现的类?
MyClass<double,1> a;
,然后这将在编译时被扩展为:
class MyClass{
double d;
public:
MyClass(){d=0;}
};
,如果不是我实例化它为:
MyClass<double,2> a;
,将扩大到:
class MyClass{
double d[3];
public:
MyClass(){for(int i=0;i<3;i++) d[i]=0;}
};
这是否可以使用模板? 请注意,我不想有一个double * d,因为我想要一切都是静态的。
预先感谢您。
哇,我不知道部分专业化实际上意味着提供一个全新的结构/功能。我认为(显然是错误的),通过部分专业化,我给课堂增加了更多东西(比如继承)。我尝试了你的例子,我用sizeof来获得班级人数,而我惊讶的sizeof(Myclass)= 24和sizeof(MyClass )= 8 !!!。这是我想要的,谢谢! –
Alejandro