int *a; a=new int[3]; for(int i=0;i<3;i++) { a[i]=i; } delete []a;
这是正常的new和delete的用法。
但是
a=new int[2]; for(int i=0;i<3;i++) { a[i]=i; }
以上的程序在不用delete的情况下是可以正常运行的。这又是为什么?那在以上一场情况下又该如何释放空间?可能这个问题有点转牛角尖,还请各位大牛赐教。小弟用的是Vs2010的开发平台。园豆可能很少,希望大牛们不要介意。