好的,这是我的C ++头文件:
// a.h
class A
{
private:
static A* aContainer[10];
public:
static void generate(int amount);
}
这是.cpp
档案:
// a.cpp
void A::generate(int amount)
{
for(int i = 0; i < amount; i++)
{
aContainer[i] = new Container();
}
}
我知道必须初始化static
个字段,但我需要能够在aContainer
中拥有一些特定数量的元素。如果我初始化aContainer
它将包含所有10个元素,但10意味着最大元素数。
我可以使用aContainer
或类似内容初始化NULL
吗?
答案 0 :(得分:0)
我认为你有充分的理由不使用std::vector
这是解决这个问题的自然方法。
可以使用大括号初始化数组或结构:
A* A::aContainer[10] = { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL };
如果未列出任何成员,则会将其初始化为零。所以上面的内容可以简化:
A* A::aContainer[10] = {};