課程
/后端開發
/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++所學知識融會貫通
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2022-03-24
嗯,是的。希望課程對你有幫助。圖像也可以算內容嗎?
2017-11-11
怎么說呢,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]根本就不是指針??!有點亂。。。