c++ - 有没有办法增加数组的内存?和相关问题

标签 c++ windows

<分区>

简单问题: 我的代码块能够编译下面的代码并且运行良好:

int a[2000000];

我的代码块能够编译下面的代码但我的程序立即崩溃:

int a[2000000];
int b[2000000];

1)是什么原因,为什么? (我的 ram 16 GB !!这只占用了 0.3MB,所以有什么问题吗?)

2) 如何修复或使用替代方法? (但我需要创建这么多数组)

3)有没有办法增加数组的内存?


相关问题(我认为是):

我的代码块能够编译下面的代码并且运行良好:

unsigned long int a=100000000000;

我的代码块能够编译下面的代码但是我的程序在我输入相同的数字(100000000000)后立即崩溃:

unsigned long int a;
 cin>>a;

怎么办?

最佳答案

int a[2000000];

这超出了您的堆栈限制。您可以使用 std::vector<int> a(2000000);相反,它将使用动态存储分配(理论上是无限的)。

关于c++ - 有没有办法增加数组的内存?和相关问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41021411/

相关文章:

c++ - 类中定义的方法的地址

.net - 是否有用于 Windows 错误报告的 .Net API

php - 将 Windows 时区转换为 PHP 设置的等效时区

c++ - Netbeans 中有 R 的插件吗?

c++ - sqlite3 c++ struct sqlite3 的前向声明导致在析构函数中删除时出现无效指针错误

c# - 如何防止 Windows 操作系统进入休眠模式 - .Net

java - 分数类不能应用于给定类型?

c - 如何用c获取主板的uuid

C++ const char* 重载困惑

c++ - 如何应对修改原子值