使用2d Array" std :: bad_alloc()"运行时错误什么()

时间:2016-06-19 14:27:30

标签: c++ arrays

我动态分配了一个大小为1100 * 10 ^ 9的2D数组,我收到了以下运行时错误 -

This is the runtime error

如果我将数组的大小减小到1100 * 10 ^ 5,我就不会遇到此错误。 请帮忙 。提前致谢 。 编辑 - 我添加了分配数组的部分。

keywords = input("Please Enter keywords path as c:/example/ \n :")
keys = open((keywords), "r").readline()
keys = keys.split(',')  # separates key strings
with open("c:/saad/saad.txt") as f:
    for line in f:
        for key in keys:
            if key.strip() in line:
                print(line)

1 个答案:

答案 0 :(得分:0)

1100 * 10^91.1*10^12元素。让我们暂时假设这些元素是4字节整数,这是一个总分配:

4.4 * 10^12个字节

除以1024 * 1024 * 1024以获得千兆字节...

1,048,017.748 GB - 大约一千TB。

我不认为地球上任何地方都有处理器架构可以解决这个问题,更不用说分配这么多内存了。

(虽然如果我对此错了,我会很高兴听到它!)