gpt4 book ai didi

c++ - C++ 中奇怪的运行时异常

转载 作者:行者123 更新时间:2023-11-30 01:16:59 25 4
gpt4 key购买 nike

我将我的程序缩减为一个极短的形式,但异常仍然出现。这是怎么回事?

#include <iostream>

int main()
{
int array[5000000];
int variable = 0; // here, EXC_BAD_ACCESS
return 0;
}

int 的 5.000.000 个元素太多了吗?那只是 4 个字节 * 5000 万 = 不到 20 MB。什么……? :P

最佳答案

正如其他答案所建议的,您很可能达到堆栈限制。一个解决方案是使用容器,例如 std::vector

#include <vector>
int main()
{
std::vector<int> array(5000000);
array[100] = 49; // use [] just like an array
int variable = 0;
return 0;
}

这现在不应该给你一个运行时错误。

此外,我不建议调用您的变量 array,因为已经有一个 std::array 类。现在它不会伤害您,但您永远不知道 future 的编码更改何时或是否会使用 std::array 类。

关于c++ - C++ 中奇怪的运行时异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25511031/

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