int x;
cin>>x;
int arr[x];
代码不能编译,因为程序将尝试为堆栈上的数组分配未知内存,但它编译!我知道什么是动态内存,我已经阅读了很多关于此的内容,但我不明白,为什么上面的程序会运行?!不应该是这样吗?:
int x;
cin>>x;
int *arr=new arr[x];
有人可以给我一个例子,其中不适用于静态分配而仅适用于动态分配?
int x;
cin>>x;
int arr[x];
代码不能编译,因为程序将尝试为堆栈上的数组分配未知内存,但它编译!我知道什么是动态内存,我已经阅读了很多关于此的内容,但我不明白,为什么上面的程序会运行?!不应该是这样吗?:
int x;
cin>>x;
int *arr=new arr[x];
有人可以给我一个例子,其中不适用于静态分配而仅适用于动态分配?