Chi*_*ter -4 c++ language-lawyer
为什么在C ++中使用可变长度数组是一个坏主意?
因此,例如,此代码:
int i = 0;
std::cin >> i;
int array[i]; // bad?
Run Code Online (Sandbox Code Playgroud)
编辑:这不是重复项,因为重复项询问标准为何选择不将其放入的原因。此问题询问可变长度数组违反了哪些标准规则。
某些编译器支持扩展长度数组。它们不是标准的C ++。使用VLA会使代码不可移植。
更好的替代方法是使用std::vector。
int i = 0;
std::cin >> i;
std::vector<int> array(i);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
147 次 |
| 最近记录: |