[問題] 把 heap-base 的程式改寫成 C++

看板C_and_CPP (C/C++)作者 (好人超)時間16年前 (2010/05/11 22:26), 編輯推噓1(1012)
留言13則, 4人參與, 最新討論串1/1
遇到的問題: (題意請描述清楚) 我想把像 Java、C# 這類 heap-base 與支援 GC 的語言所寫的程式改寫成 C++ 最傷腦筋的部份是,Java 的記憶體都會自動釋放,不需煩惱 但 C++ 就要想辦法抓好 delete 的時機 因此我想問問看,像 Java 程式碼要轉成 C++ 程式碼 在「不重新大幅修改架構」的前提下,有沒有什麼原則 可以寫出「好的」 C++ 程式碼呢? (沒有 memory leak,沒有太多臨時物件... 等等) (如果只求「有」而不求「好」,那還不容易嗎 XDD) (真希望有本書叫 Effective Convert Java To C++) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.171.46 ※ 編輯: james732 來自: 140.117.171.46 (05/11 22:26) ※ 編輯: james732 來自: 140.117.171.46 (05/11 22:27)

05/11 22:29, , 1F
我是有用過reference接new出來的物件, 雖然最後也是要
05/11 22:29, 1F

05/11 22:30, , 2F
delete, 但是中間語法就不像指標一樣煩雜
05/11 22:30, 2F

05/11 22:31, , 3F
語法我倒是不擔心 指標我覺得還挺順眼的
05/11 22:31, 3F

05/11 22:31, , 4F
最大的問題還是 delete 掉物件的時機如何拿捏
05/11 22:31, 4F

05/11 22:32, , 5F
那一律使用auto_ptr呢?
05/11 22:32, 5F

05/11 22:34, , 6F
auto_ptr 最大的缺點是不能拿去塞 STL...
05/11 22:34, 6F

05/11 22:34, , 7F
我也想過用 shared_ptr 或許也是個不錯的選擇?
05/11 22:34, 7F

05/11 22:36, , 8F
morw effective c++ 附錄有提供實作程式碼, 我之前也
05/11 22:36, 8F

05/11 22:36, , 9F
是照他的來改, 弄一個自己的版本XD
05/11 22:36, 9F

05/11 22:39, , 10F

05/11 22:42, , 11F
慘了, 好玩的東西那麼多都玩不完 XD
05/11 22:42, 11F

05/11 22:56, , 12F
hans 那個 +1
05/11 22:56, 12F

05/11 22:57, , 13F
大感謝 :) 來玩玩看
05/11 22:57, 13F
文章代碼(AID): #1BwMaRYm (C_and_CPP)
文章代碼(AID): #1BwMaRYm (C_and_CPP)