Ric*_*ard 2 c++ variable-length-array
文件扩展名:.cpp
我有以下代码:
int main() {
int N; cin >> N;
int myArray[N];
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如果我输入N为1,000,000,那么当我尝试运行该程序时,我会收到错误.但是,当我设置myArray[N]时myArray[1000000],它没有.为什么会这样?
小智 6
int myArray[N];在C++中无效.这种行为是在C99中引入的,但从未在C++中引入,可能是因为它导致很多丑陋的东西在幕后发生以使其工作,并且它会使生成的代码效率降低.事实上,这个功能在C11中甚至可以逆转,其支持仅仅是可选的,不再是强制性的.请std::vector<int>改用,或使用您选择的任何类似标准容器.
| 归档时间: |
|
| 查看次数: |
122 次 |
| 最近记录: |