0
が、私はそれが正常に実行され、それがbad_allocを言って終わりで終了何bad_allocで、出力画面にはないん理由を示して、すべての値
#include<iostream>
using namespace std;
int main()
{
for (int i = 0; ; ++i)
{
double* x = new double[2000];
*x = i * 2.5;
cout << i <<" "<< *x << endl;
}
return 0;
}
を次のように無限ループのためのプログラムを書いて、常に割り当てられた新しいメモリ。
133415 333538
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
これはメモリがなくなったと思います。 私は正しいと思われるかどうかを教えてください。 また、出力画面にはゼロからの値がすべて表示されるのではなく、133125から開始されます。 なぜですか?
_それはあなたに応じて正常に実行されましたか? – Tas
はい私の主な目的は、メモリ割り当てが止まったときにそれをチェックすることでした.133415で停止しましたが、エラーの意味を尋ねました。なぜ出力画面にゼロからの値が表示されないのですか?133125 ... .. – fleshbender
私の知り合いを増やそうとしているだけに、人はそれをしている間に傷ついているのを知らなかった:P .... – fleshbender