第20章(第1 / 5页)
推荐小说:
classA
{
//可以继续使用p
p=newfloat[500];
if(p==NULL)return;
…//dosomethingelse
deletep;
如果是用malloc申请的内存,则必须用free而不能用delete来释放。
在用delete或用free释放p所指的内存后,应该马上显式地将p置为NULL,以防下次使用p时发生错误。示例程序如下:
voidTest(void)
{
float*p;
p=NULL;
}
我们还要预防“野指针”,“野指针”是指向“垃圾”内存的指针,主要成因有两种:
(1)指针没有初始化。
(2)指针指向已经释放的内存,这种情况最让人防不胜防,示例程序如下:
p=newfloat[100];
if(p==NULL)return;
…//dosomething
deletep;
p=NULL;//良好的编程风格