gpt4 book ai didi

c++ - 巨大的 vector "hangs"程序? (50000 x 50000 个细胞)

转载 作者:行者123 更新时间:2023-11-30 03:02:03 24 4
gpt4 key购买 nike

我想要一个数组,grid[50000][50000],我尝试用 vector 来做,但是当我运行代码时,它停止了。没有错误。等等。有什么建议吗?

#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;
}

最佳答案

作为一个非常粗略的计算,

50,000 行 × 50,000 列 × 4 字节/整数 = 10,000,000,000 字节

除非您的计算机有超过 10 GB 的 RAM,否则您的内存已用完。

您能否重写您的程序以处理更小的数据 block ,或者使用文件来存储数组中不需要立即访问的部分?

关于c++ - 巨大的 vector "hangs"程序? (50000 x 50000 个细胞),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10440633/

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