我想要一个数组,网格[50000] [50000],我试着用矢量但是当我运行代码时,它会停止。没错。等等。有什么建议吗?
#include <iostream>
#include <vector>
using namespace std;
typedef std::vector<int> IntVec;
typedef std::vector<IntVec> IntGrid;
IntGrid grid(50000, IntVec(50000));
int main(){
grid[0][0]=3;
cout<<grid[0][0]<<endl;
}
答案 0 :(得分:3)
作为一个非常粗略的计算,
50,000行×50,000列×4字节/整数= 10,000,000,000 bytes
。
除非您的计算机内存超过10 GB,否则内存不足。
您是否可以重写程序以处理较小的数据块,还是使用文件存储不需要立即访问的阵列部分?