→ uranusjr: 能用 smart pointer 就用, 不能用的就要靠文件和 naming08/13 16:49
→ uranusjr: convention; 例如會回傳需要 delete 的函式名稱裡要有08/13 16:49
→ uranusjr: new 這個字讓使用者有認知等等08/13 16:50
→ Killercat: new/delete再不同scope通常會被認為是嚴重的設計瑕疵08/13 17:04
→ Killercat: 這個式相當嚴重的設計錯誤 一定要避免的08/13 17:05
→ Killercat: 尤其是expose給user的lib 這通常都不被允許08/13 17:05
→ Feis: 這裡為什麼要 new 呢 08/13 17:37
※ 編輯: dreamboat66 (39.8.151.87), 08/13/2014 19:22:53
→ dreamboat66: 抱歉手機排版,怪怪 字會變,遇到bug.. 08/13 19:27
推 johnpage: managed code會自動收回, unmanaged code必須自己管 08/14 16:49
→ johnpage: 控 08/14 16:49
→ dreamboat66: 就是因為managed code都不用考慮這,才會想知道有沒 08/14 19:29
→ dreamboat66: 有規範可遵守,不然設計上讓我好頭痛 08/14 19:29
推 damody: 不要new malloc 就不用delete free了啊~ 08/14 20:00
→ damody: 你可以請別人幫你new 像是vector之類的 08/14 20:00
推 johnpage: unmanaged code不用管控所以執行比較快, 所以在要求 08/14 20:05
→ johnpage: 速度的情況下不會用managed code 08/14 20:05
→ TeaEEE: 寫成 auto ptr = new Foo(MyStrategy()); 不就沒delete My 08/15 11:19
→ TeaEEE: Strategy的問題了嗎 08/15 11:20
推 xacid: Foo(X*)一般都是呼叫者要管理傳入pointer,除非smart_ptr 08/15 11:47
推 shadow0326: 目前用過的第三方lib c++通常都客戶自己new/delete 08/15 15:42
→ shadow0326: c通常都提供free_xxx release_xxx uninit_xxx的API 08/15 15:42
→ TeaEEE: 我覺得原Po用c#的object來看c++才會有這種疑問 08/16 00:39
→ dreamboat66: 其實我都用c++去看c#,但我覺得oo都類似,設計上需要 08/16 00:47
→ dreamboat66: 多考慮回收的問題讓我找不到一個準則 08/16 00:47
→ Feis: 準則就是沒是不要 new. new 的時後給別人 new 08/17 14:24
→ Feis: 這裡到底為什麼要 new 呢... 08/17 14:24
→ Feis: 用盡方法讓自己不要做這件事情. 真的要做就包起來 08/17 14:38
→ Feis: 但是就如 raw pointer 一樣. 需要自己 new 的時機很少 08/17 14:39