課程
/后端開發(fā)
/C++
/C++遠(yuǎn)征之封裝篇(上)
為什么不直接寫delete [] str;?str本來是指針啊,不一般都是寫delete [] str; 嗎?既然已經(jīng)刪除了str, 為什么還能把它賦值為NULL?
2017-05-26
源自:C++遠(yuǎn)征之封裝篇(上) 4-3
正在回答
str指針指向的是一個類Student,而不是字符數(shù)組,所以可以直接寫delete str;
個人認(rèn)為delete str;只是把之前申請的,str所指向的內(nèi)存區(qū)域歸還給了系統(tǒng),并沒有刪除str指針,
賦值NULL是為了防止str指針指向其他“不可描述”的區(qū)域,例如一些存放系統(tǒng)配置的區(qū)域,造成程序崩潰
苒芃 提問者
舉報
封裝--面向?qū)ο蟮幕?,本教程力求幫助小伙伴們即學(xué)即會
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2017-05-26
str指針指向的是一個類Student,而不是字符數(shù)組,所以可以直接寫delete str;
個人認(rèn)為delete str;只是把之前申請的,str所指向的內(nèi)存區(qū)域歸還給了系統(tǒng),并沒有刪除str指針,
賦值NULL是為了防止str指針指向其他“不可描述”的區(qū)域,例如一些存放系統(tǒng)配置的區(qū)域,造成程序崩潰