delete()函数的疑问
一般new跟delete是配对使用的。查了相关资料,得到的结果是
new + 类型 配对 delete + 指针名;
new + 类型[n] 配对 delete[] + 指针名;
即
int *p = new int;//释放时用 delete p,p=NULL;
int *p = new int[10];//释放时用 delete[] p,p=NULL;
上面的我已经弄明白。
现在我不明白的是,在我的代码中,我是这样用的
//申请内存
int *p = new int[10000];//释放时用 delete(p) ,p=NULL;
...//对p进行操作
//操作完成后释放
delete(p);//原来不知道正确的做法要用delete[] p;
p=NULL;
程序运行时这段代码不断被调用,通过任务管理器查看,内存能够被释放,即内存的使用很稳定。
现在想知道delete(p)与delete[] p;到底有什么区别?
使用delete(p)会不会存在什么风险?
我猜想delete()应该是c函数,而delete则是c++关键字,但是查找MSDN与在网上都找不到delete()的介绍。