根据用户的输入C++定义的数组大小
array size defined from user's input C++
我很惊讶下面的代码编译得很好。我一直认为数组大小在编译时必须是常量,但似乎我可以接受用户的输入并将其用作数组大小。我正在使用带有代码块 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
被认为是更好的方法。
相关文章:
- 当我使用自定义类型创建动态数组时,即使使用字符串,它似乎也不起作用
- C++编程从外部文本文件定义数组大小
- 具有自定义构造函数 (C++) 的类型的动态数组分配
- 删除动态数组时未定义标识符
- 在定义字符数组(井字游戏)的 for 循环中应用输入限制
- C++ 返回指向函数内定义的静态数组的指针是否有效?
- 模板类中的数组定义
- C 结构数组定义
- 在C++中为指针数组定义NULL
- 为什么局部变量不隐藏数组定义中的全局变量
- 静态数组定义错误 C++
- C++ 二维数组定义
- 这是否是 C++ 中的有效 2D 数组定义
- 模板类数组定义不是类型名称、静态或枚举器C++
- 用静态2d数组定义类的方便方法是什么(并且2d数组的大小只有在编译时才知道)
- 如何将字符数组定义为常量
- 二维数组定义
- 如何保护数组定义,防止使用非零值进行不完整的初始化
- 为3D数组定义setter/getter属性
- 在静态成员数组定义中对自身使用sizeof操作符