<span style="white-space:pre"> </span>int i=1;
int *p=new int;
*p=i;
cout<<&p<<endl<<p<<endl<<*p<<endl;
delete p;
cout<<&p<<endl<<p<<endl<<*p<<endl;
做了一个小测试,代码如上所示。
得到的结果是这样的:
总结:
(1)delete指针之后,指针p本身的地址和指针p指向的地址都没有发生变化。只是指针p指向的地址的内容发生了变化。
(2)如果再用*p,它还是有值的。
(3)所以为了避免出错,在delete之后,需要添加:p=NULL。