作者yilanP (Train Station)
看板C_and_CPP
標題Re: [問題]C++ Destuctor跟Delete
時間Fri Apr 28 18:39:10 2017
工作平台 : 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
在這三行之間數值就直接跑掉...
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.176.219.108
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1493375953.A.A67.html
※ 編輯: yilanP (180.176.219.108), 04/28/2017 18:41:03
1F:→ a27417332: 粗淺地看下,感覺是因為你賦值跟複製沒弄好 04/28 22:05
2F:→ yilanP: 剛剛google了一下賦值跟拷貝…我都沒寫也完全不知道 04/28 22:15
3F:→ yilanP: 感謝樓上 04/28 22:15
4F:→ pttworld: Ans寫法不對 04/28 22:38
5F:→ yilanP: 想問樓上正確要怎麼寫?或是google關鍵字 中英皆可 04/28 22:40
6F:→ hunandy14: .h 裡面怎麼一起放了定義 04/29 10:45
7F:→ hunandy14: 26行 執行 Encryption 的時候返回會 啟動複製函式 04/29 10:52
8F:→ hunandy14: 更正複製建構子 04/29 11:03
9F:推 chchwy: 補上copy contrcutor跟asssignment operator應該就會正常 04/29 11:03
10F:推 LPH66: 基本觀念(關鍵字): Rule of Three / Rule of Five 04/29 12:26
11F:→ yilanP: 感謝樓上各位的回答,多了copy constructor跟assign opera 04/29 12:43
12F:→ yilanP: tor後就正常了 04/29 12:43
13F:→ yilanP: lph66的回答我也會去看的謝謝了 04/29 12:44