gpt4 book ai didi

c++ - myArray[N] 其中 N = 1,000,000 返回错误,而 myArray[1,000,000] 不返回错误

转载 作者:太空狗 更新时间:2023-10-29 23:27:31 25 4
gpt4 key购买 nike

文件扩展名:.cpp

我有以下代码:

int main() {
int N; cin >> N;
int myArray[N];
return 0;
}

如果我将 N 输入为 1,000,000,则在尝试运行该程序时会出现错误。但是,当我将 myArray[N] 设置为 myArray[1000000] 时,它不会。为什么会这样?

最佳答案

int myArray[N];在 C++ 中无效。这种行为是在 C99 中引入的,但从未在 C++ 中引入,可能是因为为了使其正常工作,它会导致在幕后发生许多丑陋的事情,结果会降低生成的代码的效率。事实上,这个特性甚至在 C11 中被逆转,它的支持只是可选的,不再是强制性的。使用 std::vector<int>相反,或您选择的任何类似的标准容器。

关于c++ - myArray[N] 其中 N = 1,000,000 返回错误,而 myArray[1,000,000] 不返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53207879/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com