我有一些有效的代码:
class dummie_type
{
public:
int a;
void do_stuff()
{
// blah
}
};
class dummie_type dummie[10];
void main()
{
subroutine();
}
void subroutine()
{
dummie[3].a = 27; // etc...
dummie[5].do_stuff();
}
请注意,类的数组是全局的,我需要保持它不变(这是一个很长的故事)。
我需要更改此代码,以使类数组的长度可变。我知道这将涉及到创建一个全局指针,然后将其设置为指向在main中进行malloc或new赋值的内存块,并且我知道必须更改“”。字符“->”,但除此之外,我一直无法生成我的编译器可以接受的内容。对于声明指向类数组的全局指针,我尤其不确定。
编辑:对不起,我应该早先说过,数组大小将在main()开始附近进行一次计算,并且此后将保持不变。
最佳答案
基本上就是全部。您将dummie声明为dummie_type * dummie;
,然后在main中执行dummie = new dummie_type[size];
。不,您不需要将.
更改为->
。