c++中动态分配数组
以前一直没有明白为什么说new可以动态的分配数组,今天终于搞清楚了。上代码
int main()
{
int a=5;
int len[a]; //error
return 0;
}
{
int a=5;
int len[a]; //error
return 0;
}
这样会报错,说数组的参数不是常量。需要改成const int a=5才行。
如果使用new就可以动态的定义数组的大小了,不需要常量的参数。
int main()
{
int a=5;
int *b=new int[a]; //ok
return 0;
}
{
int a=5;
int *b=new int[a]; //ok
return 0;
}