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