[問題] 解構與delete or free

看板C_and_CPP作者時間14年前 (2011/10/29 15:00), 編輯推噓1(1010)
留言11則, 3人參與, 最新討論串1/1
想請問物件解構時 會free記憶體空間嗎 假設 A *a = new a(); a->~A(); 還回heap記憶體這樣寫法 是不是不太正確~ 該是 A *a = new a(); delete a; //<-delete a會執行解構,但解構後其實記憶體還沒被釋放? 謝謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 編輯: FAITHY 來自: 124.8.138.182 (10/29 15:01)

10/29 15:04, , 1F
用new就要delet
10/29 15:04, 1F

10/29 15:06, , 2F
10/29 15:06, 2F

10/29 15:08, , 3F
應該說用delete釋放記憶體的同時,會自動解構
10/29 15:08, 3F

10/29 15:08, , 4F
抱歉貼的網址搞錯了,直接忽略吧...
10/29 15:08, 4F

10/29 15:09, , 5F
我想我應該搞錯解構的意思了 解構並不會釋放物件記憶體
10/29 15:09, 5F

10/29 15:10, , 6F
只是一個FUNCTION 告訴發生解構該做的是而已...
10/29 15:10, 6F

10/29 15:11, , 7F

10/29 15:12, , 8F
你在destructor做的事情主要是要把你有new的東西
10/29 15:12, 8F

10/29 15:13, , 9F
delet以及一些你需要的處理
10/29 15:13, 9F

10/29 15:13, , 10F
其他的東西不用理他沒關係
10/29 15:13, 10F

10/29 15:18, , 11F
了解了 感謝:)
10/29 15:18, 11F
文章代碼(AID): #1EgwHu8L (C_and_CPP)