【发布时间】:2021-03-09 08:30:27
【问题描述】:
我正在分配一个大小为 2000x2000 的多维 valarray,它工作顺利。
valarray<valarray<int>> D(valarray<int>(-2,2000), 2000);
D[1999][1999] = 2000;
但是,如果我尝试分配一个普通数组并访问一个元素,则会出现分段错误。
int A[2000][2000];
A[1999][1999] = 2000;
两者都在堆栈上,为什么会有这种差异?
【问题讨论】:
-
堆栈对象有一个最大尺寸。 2000*2000*sizeof(int) 必须大于该大小
标签: c++ multidimensional-array segmentation-fault valarray