动态和静态数组:当两者都可能时,通常使用一个而不是另一个的基本原理是什么?
其中一种情况可能是
int n;
cin >> n;
int a[n];
对比
int n;
cin >> n;
int* a = new int[n];
最佳答案
int a[n]
是一个可变长度数组,这是 C++ 标准不允许的,因此您应该选择第二个代码片段。
使用 -pedantic
标志,你应该得到:
warning: ISO C++ forbids variable length array 'a' [-Wvla]
int a[n];
^
关于c++ - 什么时候使用动态数组而不是静态数组合适?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46877631/