int x;
cin>>x;
int arr[x];
プログラムはスタック上の配列に未知のメモリを割り当てようとするため、コードをコンパイルしてはなりませんが、コンパイルされます! 私は動的メモリが何であるかを知っています.私はこれについてたくさん読んだことがありますが、理解できません.なぜ上記のプログラムが実行されるのですか?! このままでいいのではないか?:
int x;
cin>>x;
int *arr=new arr[x];
静的割り当てでは機能せず、動的割り当てでのみ機能する例を教えてください。