削除された配列にアクセスして、メモリがどのように変更されたかを確認したかったのですが、非常に大きな配列を削除してからaccess violation exception
. 私はcout
彼らが遅いことを知っていますが、私はそれらを取り除きます。1000要素の配列に対して行うと問題ありませんが、1000000に対して行うと例外が発生します。これが変な仕事であることはわかっていますが、私の先生は頑固で、どう対処すればよいかわかりません。
編集:私は決してその記憶にアクセスしてはならないことを知っていますが、おそらく彼がそのときに見せて、私が正しくないと言うトリックがあることも知っています.
long max = 1000000;// for 10000 i do not get any exception.
int* t = new int[max];
cout<<max<<endl;
uninitialized_fill_n(t, max, 1);
delete[] t;
cout<<"deleted t"<<endl;
int x;
cin>>x;//wait little bit
int one = 1;
long counter = 0;
for(long i = 0; i < max; i++){
cout<<i<<endl;
if(t[i] != 1){
cout<<t[i]<<endl;
counter++;
}
}