私は自分の単語検索アルゴリズムに取り組んできました。それは完全に機能しますが、10000 x 10000 のような非常に大きなパズルでテストすることにしました。これは、シンボルで満たされたマトリックスです。それで、そのパズルを作る小さなプログラムを作成しました。そして、単語検索を実行すると、bad_alloc でクラッシュしました。私は2D配列を使用しています。コード:
string ** Matrix = new string*[Height];
for(int i = 0; i < Height; ++i)
{
Matrix[i] = new string[Widht];
}
高さ = 幅 = 10000;
そして、私はそれがなぜなのかわかりません。new には実際には制限がないことを読んだことがありますが、なぜクラッシュするのでしょうか?
ところで、楽しみのために、プログラムがメモリを割り当てようとしている間にWindowsタスクマネージャーを開いて、メモリが2m以上になり、クラッシュしました。