看板 C_and_CPP 關於我們 聯絡資訊
遇到的問題: (題意請描述清楚) 我想把像 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)
loveme00835:我是有用過reference接new出來的物件, 雖然最後也是要 05/11 22:29
loveme00835:delete, 但是中間語法就不像指標一樣煩雜 05/11 22:30
james732:語法我倒是不擔心 指標我覺得還挺順眼的 05/11 22:31
james732:最大的問題還是 delete 掉物件的時機如何拿捏 05/11 22:31
loveme00835:那一律使用auto_ptr呢? 05/11 22:32
james732:auto_ptr 最大的缺點是不能拿去塞 STL... 05/11 22:34
james732:我也想過用 shared_ptr 或許也是個不錯的選擇? 05/11 22:34
loveme00835:morw effective c++ 附錄有提供實作程式碼, 我之前也 05/11 22:36
loveme00835:是照他的來改, 弄一個自己的版本XD 05/11 22:36
sunneo:試試看http://www.hpl.hp.com/personal/Hans_Boehm/gc/ 05/11 22:39
loveme00835:慘了, 好玩的東西那麼多都玩不完 XD 05/11 22:42
yoco315:hans 那個 +1 05/11 22:56
james732:大感謝 :) 來玩玩看 05/11 22:57