C ++模板,静态分配的数组

时间:2012-02-27 01:36:32

标签: c++ arrays templates allocation

我正在尝试为项目做这样的事情......

template <class N> class MyClass { float properties[N]; };

有没有在C ++中实现这个目标?

1 个答案:

答案 0 :(得分:5)

您需要的是 value 模板参数:

template <size_t N> class MyClass { float properties[N]; };
        //^^^^^^ note this 

现在您可以实例化此类模板,将任何非负整数值作为模板参数传递。例如,

MyClass<10> c1;  //N=10
MyClass<100> c1; //N=100

您也可以将const表达式传递为:

const size_t size = 200;
MyClass<size>  c2; //N=200