→ x000032001: 不需要member 那就static func啊 甚至給他namespace 01/24 12:22
→ x000032001: 就好也不用塞進class了 01/24 12:22
那~~ 有需要刻意去拆開嗎 這對效能有幫助嗎???
還是沒幫助? 只是多此一舉????
→ Caesar08: 看完不知道你在說甚麼東西 另外中間function那段 01/24 13:13
→ Caesar08: 你要function new delete甚麼東西? 01/24 13:13
→ Caesar08: 不用"動"到data member,那你寫const就好 01/24 13:16
→ Caesar08: 不用"用"到data member,那你就參考一樓的作法 01/24 13:16
抱歉喔 我寫得太簡單了
例如有個 class
class A
{
int abc;
int Add( int a, int b );
};
我把它拆成
class data
{
int abc;
};
class func
{
int Add( data &a, int a, int b );
};
這樣子, class func 在全部的程式中, 大家都可以共用一個就好了,
要new delete 時, 就只需要 new delete data,
那如果是原本的做法 class A, new delete 時,
還必須處理 Add();
這樣拆開來, 是否會比較省資源和效能????
※ 編輯: yhn0tgb60 (218.35.163.53), 01/24/2016 13:31:04
推 Clangpp: 其實這就是一種design pattern阿XD 01/24 13:34
推 Clangpp: 不用 上面有說了 你用namespace就好 01/24 13:37
→ Clangpp: 然後 effective C++ item 23 寧以non-member non-friend 01/24 13:38
→ Clangpp: 取代member 函式不知道能不能解釋你的問題 01/24 13:39
→ Caesar08: 不會,而且你這樣func需要是data的friend 01/24 13:43
→ Caesar08: 除非逼不得以,否則friend還是少用為妙 01/24 13:44
→ Caesar08: 不過聽我這樣說,還不如參考standard C++是怎麼說的 01/24 13:45
其實我 frined 用很多......
因為我全部的 class 都把 建構式和解構式 藏起了
只有相關的 factory 才能 new delete 它........
然後 factory 也都是單一物件.....
但是又聽說 static 不適合太多
所以就用一個 static class, 全部的 factory 只有 那個 class 可以 new.....
→ bibo9901: 你這樣跟non-virtual member function一模一樣啊 01/24 18:16
→ bibo9901: 又何苦分兩邊寫 01/24 18:16
→ firejox: 你可以去研究function pointer 01/24 18:45
→ firejox: member funciton 跟這個有關係 01/24 18:46
推 ronin728: 拆不拆開效率不會差太多。獨立函數別再另外包class,請 01/24 18:59
→ ronin728: 用namespace,除非你是為了滿足某種設計模式。 01/24 18:59
→ ronin728: 如果你 friend 真的用很多,可能有過度耦合的問題 01/24 19:01
推 CoNsTaR: static 和 anonymous-namespace 對 function 的效果是一 01/24 23:45
→ CoNsTaR: 樣的吧 01/24 23:46
→ CoNsTaR: 不喜歡 static 可以改用 namespace 01/24 23:46
→ tinlans: member functions 原本就不會被 new / delete 01/26 01:34
→ tinlans: 去顧慮這些東西是玩什麼玩到走火入魔啊? 01/26 01:35
在寫自己的framwork XD
→ fr3ak: 希望原 po 只是在練習寫 framework QQ 01/27 09:19
你有什麼悲情的故事嗎 關於寫framework XD
推 jerohands: 除非你是想用 Private Class Data 01/27 19:54
→ tinlans: 如果分開的目的是節省效能,那完全達不到你要的目的。 01/28 00:08
推 fr3ak: To 原 po. Framework 是基底, 一旦被應用採納, 要改動的成 01/29 11:37
→ fr3ak: 本通常不小, 尤其是界面. 即便有大量的經驗與深厚的技術都 01/29 11:37
→ fr3ak: 不記得能把 framework 做得好. 01/29 11:37
→ fr3ak: 另, 不論是 framework 或 component-based 的 library, 遠 01/29 11:40
→ fr3ak: 遠不只是 "寫 code" 這麼單純. IMHO, 更重要的是 "設計" 01/29 11:40
是的 這是一定的
所以我寫 framework 是寫自己開心的和當作品用
而且自己寫 framework 時, 會增加思考很多事情, 可以學到很多,
工作上 我一定找現成的 而且有一定的市場使用率的 來使用
※ 編輯: yhn0tgb60 (220.132.169.16), 01/29/2016 18:14:16
推 CoNsTaR: Java 的陣列是物件,它就是這樣的實作方式 01/29 19:36
→ CoNsTaR: 陣列除了 lenght 以外的成員函式都被放在 java.util.Arra 01/29 19:36
→ CoNsTaR: ys 01/29 19:36
→ CoNsTaR: 而陣列這個 class 則由 JVM 動態生成 01/29 19:36