注册 登录
编程论坛 C++教室

怎么声明100万大小的数组?

复旦 发布于 2018-11-14 20:36, 2118 次点击
有一道题模拟2维Ising模型,老师要求计算100万步骤。
可是声名 int sum[1000000];的话,vc2010里出错。
那应该要怎么声名?
3 回复
#2
yuccn2018-11-15 00:08
int sum[1000000]
sizeof(int) 应该是4个字节吧 4 * 1000000 约等于 4 M了,默认堆栈印象是1M,肯定出错

 int *sum = (int *)malloc(4 * 1000000 * sizeof(int));

试试这样。在堆开辟空间,用完后记得释放内存哈
#3
rjsp2018-11-15 09:06
#include <memory>

auto arr = std::make_unique<int[]>(1000000);
能编译通过吗?若能,就用它。

否则,用
#include <vector>

std::vector<int> arr( 1000000 );


#4
复旦2018-11-16 14:08
谢谢
1