Dav*_*ter 0 c++ arrays templates allocation
我正在尝试为项目做这样的事......
template <class N>
class MyClass
{
float properties[N];
};
无论如何在C++中实现这一点?
你需要什么称为值模板参数:
template <size_t N> class MyClass { float properties[N]; };
//^^^^^^ note this
Run Code Online (Sandbox Code Playgroud)
现在,您可以实例化此类模板,将任何非负整数值作为模板参数传递.例如,
MyClass<10> c1; //N=10
MyClass<100> c1; //N=100
Run Code Online (Sandbox Code Playgroud)
您也可以将const表达式传递为:
const size_t size = 200;
MyClass<size> c2; //N=200
Run Code Online (Sandbox Code Playgroud)