作者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/cn.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