我一直在研究我的单词搜索算法。它工作得很好,但后来我决定在像 10000 x 10000 这样的非常大的谜题上进行测试,它是一个充满符号的矩阵。所以创建了一个小程序来解决这个难题。然后我运行单词搜索,它与 bad_alloc 一起崩溃。我使用二维数组。代码:
string ** Matrix = new string*[Height];
for(int i = 0; i < Height; ++i)
{
Matrix[i] = new string[Widht];
}
高度 = 宽度 = 10000;
我不知道为什么会这样。我已经读过 new 并没有真正的限制,那么为什么它会崩溃?
顺便说一句,我打开 Windows 任务管理器只是为了好玩,而程序尝试分配内存并且内存上升到 2m+ 然后它崩溃了。