4
可能重复:
Dynamic array in Stack?
How do compilers treat variable length arrays数组存储发生了什么?
有人我辅导写了一些一段代码,看起来像这样,那编译,运行正常,让我觉得自己像一个完整的C++初学者:
int main(int argc, char** argv)
{
int Index=0;
cin>>Index;
int Test_array[Index][Index];
...
}
N我发现我的答案,为什么这个在这里工作:about the array in C
但是,我仍然有关于如何审讯。
我的意思是,代码块的堆栈大小应该是提前知道的吗?所以肯定,Test_array不能存储在堆栈上...
编译器是否在数组中使用堆内存来进行新的/ malloc-delete/free操作?
在这种情况下,如果在堆上找不到足够的内存,这种代码是否会抛出bad_alloc异常?
这不是标准的C++。可变长度数组是一些编译器支持的扩展。 – aschepler
之前被问过许多次。 –
不是重复的:问题不是“这是否有效?”,而是“编译器如何做到这一点?” – aschepler