if(pCh!=NULL)

来源:百度知道 编辑:UC知道 时间:2024/05/16 06:40:12
if(pCh!=NULL)
delete []pCh;

第二句是什么意思?
delete []pCh
定义数组的时候是 pCh[] 这样的,
方括号为什么放在前面呢?

这个方括号是说明这个指针pCh是指向的一块连续的空间(就是数组),而不是一个单独的对象。
举个例子:
int *p = new int;
释放时用delete p;
int *p = new int[10];
释放时用delete[] p;
你写的时候把[]靠近delete就不会有这种错觉了。

********************************************
如果这个数组占用了内存空间(首地址指针不为空),就把这个数组所占用的空间释放掉。

第二句就是说把pCh指向的空间释放。