我想访问已删除的数组以查看内存是如何更改的,直到我删除了非常大的数组然后我得到了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++;
}
}