Closed. This question is off-topic. It is not currently accepting answers. Learn more
想改进这个问题吗?Update the question所以堆栈溢出的值小于aa>。
我正在用g++编译器在ubuntu中处理一个cpp项目,我需要创建一个1000000x1000000=10^12元素的矩阵,其条目是布尔变量。但是我的g++编译器允许我只为大约1000x1000个元素分配空间。我怎样才能克服这个分配空间给这个巨大矩阵的问题?

最佳答案

你不能,除非你至少有125GB的内存(假设你每一个bool只需要一个位)。如果你真的需要这么大的结构,你需要购买大量的ram或者考虑磁盘上的算法。
但是,解决问题实际上并不需要10^6 x 10^6数组,因此应该首先重新考虑算法。
有些库允许磁盘上的数据结构(http://roomy.sourceforge.net/出现在我的脑海中,还有一个我现在还记不起它的名字),但是磁盘访问比ram慢几个数量级。除非您仔细考虑过这一点,否则您可能不会对基于磁盘的解决方案的性能感到满意。

关于c++ - 如何初始化尺寸为1000000x1000000的2D数组? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18708166/

10-11 23:06
查看更多