作者yilanP (Train Station)
看板C_and_CPP
標題[問題]C++ Destuctor跟Delete
時間Mon Apr 24 22:10:59 2017
開發平台(Platform): (Ex: Win10, Linux, ...)
Win10
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
CodeBlock
問題(Question):
http://imgur.com/nttVbrE.jpg
http://imgur.com/JSdJSss.jpg
圖中以紅線分隔開的是對應的兩邊
從結果圖來看
不知道為何只是進入if else,this就會改變
怎麼DEBUG都弄不好
我就弄出k=*this...
也是不知道為什麼會跟著改變
Delete的那行,是我在Destructor加進去的
有試過把Destructor拿掉...
運氣好的話計算量小,記憶體洩漏的量還不至於當掉
不過後面的計算量都必須要回收記憶體
有人有類似的經驗可以解答嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.176.219.108
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1493043061.A.288.html
1F:→ yilanP: 後來發現是那個if的bool func會導致錯誤.. 04/24 22:37
2F:推 LPH66: 用置底空間貼完整程式上來吧 04/25 00:24
3F:→ yilanP: 感謝樓上回答…不過我後來改用STL重新寫 04/26 01:58
4F:→ yilanP: 但是有碰到新的問題 04/26 01:58
5F:推 s4300026: 小弟愚笨,不知道為什麼 this 前面要加取址符號 04/26 06:19
6F:推 LPH66: 那不是 this 取址而是 this->data 取址, -> 比 & 優先 04/26 08:37
7F:→ yilanP: 我是要看this裡面data的位置,跟destructor顯示的位置比 04/26 13:06
8F:→ yilanP: 較 04/26 13:06
※ 編輯: yilanP (180.176.219.108), 04/28/2017 17:37:17