Re: [问题]C++ Destuctor跟Delete

楼主: yilanP (Train Station)   2017-04-28 18:39:10
工作平台 : Win10
编译器 : CodeBlock
附上程式码缩网址 http://goo.gl/4LtrL7
里面有三个档案分别是
BigNumber.h main.cpp Prime.cpp
目前网址中的 destructor 是不会 delete data的
可以顺利地跑出后面两个程式
不过问题是跑Prime.cpp的时候
如果执行时间过久就会bad_allocate
约使用到 1.xG .....
然而修改 destructor ,让他会delete data
我的main.cpp 在 constructor 执行后
他应该有的数值就会跑掉
如图所示
http://imgur.com/Ti97MK2.jpg
Plaintext 的那行是在main里面呼叫印出来的
前一行是在constructor 的最后一行cout的
http://imgur.com/Kjp9RBq.jpg
在这三行之间数值就直接跑掉...
作者: a27417332 (等号卡比)   2017-04-28 22:05:00
粗浅地看下,感觉是因为你赋值跟复制没弄好
楼主: yilanP (Train Station)   2017-04-28 22:15:00
刚刚google了一下赋值跟拷贝…我都没写也完全不知道感谢楼上
作者: pttworld (批踢踢世界)   2017-04-28 22:38:00
Ans写法不对
楼主: yilanP (Train Station)   2017-04-28 22:40:00
想问楼上正确要怎么写?或是google关键字 中英皆可
作者: hunandy14 (Charlott.HonG)   2017-04-29 10:45:00
.h 里面怎么一起放了定义26行 执行 Encryption 的时候返回会 启动复制函式更正复制建构子
作者: chchwy (mat)   2017-04-29 11:03:00
补上copy contrcutor跟asssignment operator应该就会正常
作者: LPH66 (-6.2598534e+18f)   2017-04-29 12:26:00
基本观念(关键字): Rule of Three / Rule of Five
楼主: yilanP (Train Station)   2017-04-29 12:43:00
感谢楼上各位的回答,多了copy constructor跟assign operator后就正常了lph66的回答我也会去看的谢谢了

Links booklink

Contact Us: admin [ a t ] ucptt.com