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

array size defined from user's input C++

本文关键字:数组 定义 输入 用户 C++      更新时间:2023-10-16

我很惊讶下面的代码编译得很好。我一直认为数组大小在编译时必须是常量,但似乎我可以接受用户的输入并将其用作数组大小。我正在使用带有代码块 IDE 的 GCC。有没有人尝试过这个,这样做有什么问题吗?

int size;
cout<<"Enter array size : "<<endl;
cin>>size;
int arr[size];
// ...more action array with the array after which works fine   

此功能称为可变长度数组,并在C99标准中引入,只是再次使其成为C11标准的可选功能。

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