[問題]C++ Destuctor跟Delete

作者: yilanP (Train Station)   2017-04-24 22:10:59
開發平台(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拿掉...
運氣好的話計算量小,記憶體洩漏的量還不至於當掉
不過後面的計算量都必須要回收記憶體
有人有類似的經驗可以解答嗎?
作者: yilanP (Train Station)   2017-04-24 22:37:00
後來發現是那個if的bool func會導致錯誤..
作者: LPH66 (-6.2598534e+18f)   2017-04-25 00:24:00
用置底空間貼完整程式上來吧
作者: yilanP (Train Station)   2017-04-26 01:58:00
感謝樓上回答…不過我後來改用STL重新寫但是有碰到新的問題
作者: s4300026 (s4300026)   2017-04-26 06:19:00
小弟愚笨,不知道為什麼 this 前面要加取址符號
作者: LPH66 (-6.2598534e+18f)   2017-04-26 08:37:00
那不是 this 取址而是 this->data 取址, -> 比 & 優先
作者: yilanP (Train Station)   2017-04-26 13:06:00
我是要看this裡面data的位置,跟destructor顯示的位置比較

Links booklink

Contact Us: admin [ a t ] ucptt.com