以前一直没有明白为什么说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 ;
}