空指針什么意思 delete一個(gè)對(duì)象的以后為什么沒有變成NULL指針?
delete一個(gè)對(duì)象的以后為什么沒有變成NULL指針?fClass指向的對(duì)象已被刪除,但上一個(gè)對(duì)象的地址仍保存在fClass中。但是,由于對(duì)象已被刪除,fClass不再有效。它被稱為懸掛指針。對(duì)象為空
delete一個(gè)對(duì)象的以后為什么沒有變成NULL指針?
fClass指向的對(duì)象已被刪除,但上一個(gè)對(duì)象的地址仍保存在fClass中。但是,由于對(duì)象已被刪除,fClass不再有效。它被稱為懸掛指針。對(duì)象為空,指針保持不變。一般來說,我們建議在刪除對(duì)象后,使用命名空間stdClass a{}void main(){a*fClass=new a delete fClass fClass=null//手動(dòng)將fClass指向null#include<ostream>#include<string>,以避免在(fClass==null){cout<”類為空時(shí)指針懸空?!?lt<endl}}
刪除節(jié)點(diǎn)的操作是將節(jié)點(diǎn)扔掉,釋放節(jié)點(diǎn)的空間,并將指針向前移動(dòng)一位,因此此時(shí)點(diǎn)列表的長(zhǎng)度減少;相當(dāng)于火車車廂。一開始,有10輛車。工作人員站在最后一輛車上,把工作人員當(dāng)作指針。然后工作人員可以通過指針遍歷整個(gè)10輛車。如果最后一輛車被刪除,工作人員仍然指向列表中的最后一輛車,所以工作人員應(yīng)該向前移動(dòng)一位,刪除一輛車之后最重要的一輛車(功能是將工作人員車的指針指定為null),正常的程序是銷毀被刪除的車,它不存在。當(dāng)工作人員參觀整個(gè)列車時(shí),只有9節(jié)車廂。
所以它是相關(guān)的。
。
。