如何避免分段错误:11; C++

ing*_*bry 2 c++ segmentation-fault

我正在使用gdb调试一个简单的C++脚本,看到我在尝试初始化时遇到错误temp_grid.我试着通过运行来编译它

g++ -Wall initial.cc -o initial
Run Code Online (Sandbox Code Playgroud)

有没有办法在脚本内部避免这种分段错误?

#include <iostream>
#include <array>
#include <valarray>
#include <stdlib.h>
#include <memory>

using namespace std;

int main()
{
  using std::array;
  array<array<float, 1024>, 1024> grid ={};

  // temp grid
  array<array<float, 1024>, 1024> temp_grid ={};

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

Typ*_*eIA 5

您最有可能溢出堆栈,这对于局部变量具有相对有限的存储空间.尝试使用动态存储(使用new)分配它们.为了获得最大的稳健性,请使用智能指针(unique_ptr)来管理指针.