課程
/后端開發
/C++
/C++遠征之離港篇
在運行完delete p之后在輸出*p的值就已經是隨機數了,但是輸出指向的地址又是正常的和最初保持不變.那么
為什么用是的delete p 而不是delete *p,刪除的是指向的值又不是指向的地址
2018-05-25
源自:C++遠征之離港篇 5-2
正在回答
delete應該是刪除p地址的指向,本來p指向的是5,delete之后,p指向的不再是5了。計算機是地址尋址的。
我去看了一下源碼,delete方法的參數是*p,也就是說delete p傳入的是p對應的指針,其實是指針傳遞,謝謝了
歲月長衣裳薄
葉zero 提問者 回復 歲月長衣裳薄
歲月長衣裳薄 回復 葉zero 提問者
我的理解 *p里的p是指向一段連續的內存的首地址,?delete是釋放從p地址開始的這段內存;直接從地址開始釋放要快些吧。
慕的地0093153
舉報
C++掃清通往面向對象的最后一道障礙,將所有知識點融會貫通
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-05-28
delete應該是刪除p地址的指向,本來p指向的是5,delete之后,p指向的不再是5了。計算機是地址尋址的。
2018-05-28
我去看了一下源碼,delete方法的參數是*p,也就是說delete p傳入的是p對應的指針,其實是指針傳遞,謝謝了
2018-05-28
我的理解 *p里的p是指向一段連續的內存的首地址,?delete是釋放從p地址開始的這段內存;直接從地址開始釋放要快些吧。