从用户的输入C ++定义的数组大小

时间:2015-06-15 16:53:29

标签: c++ arrays

我很惊讶以下代码编译得很好。我一直认为数组大小在编译时必须是常量,但似乎我可以接受用户的输入并将其用作数组大小。我正在使用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   

1 个答案:

答案 0 :(得分:1)

此功能称为Variable length array,并在C99标准中引入,再次使其成为C11标准中的可选功能。

我对C++标准没有具体的了解,但这可能是一个支持功能,作为编译器扩展。 AFAIK,C++标准中没有任何内容支持VLA。或者,在std::vector中使用C++被认为是更好的方法。