TVO*_*OHM 0 c++ stack-overflow arrays
我正在编写一个程序,我需要运行许多模拟,速度是游戏的名称.我目前正在使用在堆上分配的一个长线性数组并自己计算尺寸并直接从我编制的索引中提取.一位同事编写了一个类似的程序,并且使用5D阵列提高了速度.我知道将它作为向量分配会非常容易,但据我所知,由于边界检查使用向量会产生速度成本.
我的问题是为什么会发生这种情况?
这编译并运行良好:
int Array[20][20][20][20][20];
int main()
{
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这会编译但在包装在类中时抛出堆栈溢出异常:
class Foo
{
int Array[20][20][20][20][20];
};
int main()
{
Foo foo;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我尝试在Visual Studio 2005链接器选项中修改我的堆栈大小以及更改"启用更大地址"选项,但似乎没有任何区别.
| 归档时间: |
|
| 查看次数: |
565 次 |
| 最近记录: |