我很惊讶以下代码编译得很好。我一直认为数组大小在编译时必须是常量,但似乎我可以接受用户的输入并将其用作数组大小。我正在使用GCC与codeblocks IDE。有没有人试过这个,这样做有什么不妥吗?
int size;
cout<<"Enter array size : "<<endl;
cin>>size;
int arr[size];
// ...more action array with the array after which works fine
答案 0 :(得分:1)
此功能称为Variable length array,并在C99
标准中引入,再次使其成为C11
标准中的可选功能。
我对C++
标准没有具体的了解,但这可能是一个支持功能,作为编译器扩展。 AFAIK,C++
标准中没有任何内容支持VLA。或者,在std::vector
中使用C++
被认为是更好的方法。