課程
/后端開發
/C++
/C++遠征之封裝篇(上)
為什么最后要p = NULL?
2020-02-04
源自:C++遠征之封裝篇(上) 2-2
正在回答
釋放內存是p指向的內存空間存放的內容被清空,但p仍然存在并且依然指向原來的空白內存,當這個空白內存空間被系統再次分配時,新指針會和p指針產生沖突,所以p置空更安全
在操作系統里,你占用了某個資源,當你完成該操作時,必須釋放掉這個資源留給其他操作使用。
p=NULL 即將你占用的空間釋放掉,就相當于你坐公交,你到站了就要下車,把位置留給他人
就像把這個指針用完了,需要歸還給系統,為確保歸還成功,所以讓它指向空指針(加一種保險),以防不可預期的錯誤
舉報
封裝--面向對象的基石,本教程力求幫助小伙伴們即學即會
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2020-02-05
釋放內存是p指向的內存空間存放的內容被清空,但p仍然存在并且依然指向原來的空白內存,當這個空白內存空間被系統再次分配時,新指針會和p指針產生沖突,所以p置空更安全
2020-02-10
在操作系統里,你占用了某個資源,當你完成該操作時,必須釋放掉這個資源留給其他操作使用。
p=NULL 即將你占用的空間釋放掉,就相當于你坐公交,你到站了就要下車,把位置留給他人
2020-02-05
就像把這個指針用完了,需要歸還給系統,為確保歸還成功,所以讓它指向空指針(加一種保險),以防不可預期的錯誤