课程
/后端开发
/C++
/C++远征之封装篇(下)
为啥在释放内存delete的时候使用的是delete []p;但是在对p赋空的时候,却不是使用p[0] = NULL;p[1]=NULL;p[2]=NULL;而是直接 p = NULL;就行了呢?
2017-11-11
源自:C++远征之封装篇(下) 2-3
正在回答
嗯,是的。希望课程对你有帮助。图像也可以算内容吗?
怎么说呢,p是一个指针,p[1],p[2]都是通过这个向后指针找到的。delete []p后,p[0]p[1]p[2]内容都删除了,但是p指针还在,所以通过置p=NULL防止别的地方用到。也就是说三个元素的数组是可以通过首地址指针p来实现各种操作的,可以当作本没有什么p[1],p[2]指针,而且p[1]p[2]根本就不是指针!!有点乱。。。
举报
封装--面向对象三大特征之一,通过案例让C++所学知识融会贯通