首页 > 解决方案 > 为什么在尝试创建动态矩阵时抛出 'std::bad_alloc' what(): std:: bad_alloc 的实例后调用终止?

问题描述

好吧,问题是我的程序在尝试创建 131072*(131072*2) 的动态矩阵时突然崩溃,如果我尝试 16384*(16384*2+2) 它仍然可以正常工作。所以我需要一种在程序不崩溃的情况下创建矩阵的方法。

     int ROW=b_len;                      //131072 
  int COL=a_len+b_len+OVERFLOW;      //131072*2+2

    int** mat = new int*[ROW];
    printf("\n\nHURRA");  //It prints this
    for (int i = 0; i < ROW; ++i)  //I think it crashes here
mat[i] = new int[COL];
  printf("\n\nolv");    //But not this

标签: c++matrixbad-alloc

解决方案


推荐阅读