眾所周知,delete 會釋放new出來的單個對象指針指向的內存,這個“釋放”的含義就是將這一塊內存標記為可用,但並不會刪除其指向的值。
這就很有意思了,在Codeblocks中執行如下語句:
Score* s=new Score(96,95); delete s; s->show();
實際上還是能看到顯示出來的分數的,而在dev C++中就會看到輸出了兩個垃圾值。
因此最好delete后把地址設置為NULL。
眾所周知,delete 會釋放new出來的單個對象指針指向的內存,這個“釋放”的含義就是將這一塊內存標記為可用,但並不會刪除其指向的值。
這就很有意思了,在Codeblocks中執行如下語句:
Score* s=new Score(96,95); delete s; s->show();
實際上還是能看到顯示出來的分數的,而在dev C++中就會看到輸出了兩個垃圾值。
因此最好delete后把地址設置為NULL。
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。