当我开始使用 C++ 编程时,我学会了使用动态内存分配来分配数组大小,如下所示:
int main()
{
int nArrayLength;
cout << "Enter an array length: ";
cin >> nArrayLength;
int *nArray = new int[nArrayLength];
// contents
delete[] nArray;
return 0;
}
现在,我使用 Code::Blocks 12.11 和 mingw32-g++ // GNU GCC 编译器尝试了以下代码。
int main()
{
int nArrayLength;
cout << "Enter an array length: ";
cin >> nArrayLength;
int nArray[nArrayLength];
return 0;
}
这也很好用。
因此,当更简单的方法也可以正常工作时,我为什么要在这种情况下使用动态内存分配?