posts - 783, comments - 2138, trackbacks - 115, articles - 0
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

template

     摘要: std::string为library type,而int、double为built-in type,两者无法利用(int)或(double)的方式互转,这里使用functon template的方式将std::string转int、std::string转double。  阅读全文

posted @ 2008-08-01 16:59 真 OO无双 阅读(3656) | 评论 (2)  编辑 |

     摘要: 使用iterator時,能使用pointer的*、++、--與->等操作,到底iterator是不是pointer呢?  阅读全文

posted @ 2008-07-21 13:22 真 OO无双 阅读(580) | 评论 (1)  编辑 |

     摘要: Verilog一向不在語法上耍花槍,參數式模組的寫法,算是Verilog最奇特的寫法,在C與C++也沒有。  阅读全文

posted @ 2008-07-09 22:50 真 OO无双 阅读(479) | 评论 (1)  编辑 |

     摘要: 據同學說是聯發科的面試考題,以下是我野人獻曝的解法,若有大俠有任何更好的方,歡迎華山論劍。  阅读全文

posted @ 2008-01-06 02:03 真 OO无双 阅读(1446) | 评论 (10)  编辑 |

     摘要: 一般若用泛型實現Strategy Pattern,缺點是無法動態改變strategy,本文將介紹可以動態改變的泛型Strategy Pattern。  阅读全文

posted @ 2007-09-14 01:53 真 OO无双 阅读(673) | 评论 (4)  编辑 |

     摘要: OO最重要的多型/多態就是用繼承 + virtual來完成,virtual雖好用,但付出的代價就是『更多的記憶體』+『更慢的速度』,本文介紹使用泛型來模擬virtual機制。  阅读全文

posted @ 2007-08-29 00:40 真 OO无双 阅读(560) | 评论 (1)  编辑 |

     摘要: 很精彩的ATL泛型應用解析。  阅读全文

posted @ 2007-08-28 21:32 真 OO无双 阅读(322) | 评论 (0)  编辑 |

     摘要: 很精彩的ATL泛型應用解析。  阅读全文

posted @ 2007-08-28 21:05 真 OO无双 阅读(255) | 评论 (0)  编辑 |

     摘要: 很精彩的ATL泛型應用解析。  阅读全文

posted @ 2007-08-28 21:00 真 OO无双 阅读(314) | 评论 (1)  编辑 |

     摘要: 很精彩的ATL泛型應用解析。  阅读全文

posted @ 2007-08-28 20:50 真 OO无双 阅读(274) | 评论 (0)  编辑 |

     摘要: 很精彩的ATL泛型應用解析。  阅读全文

posted @ 2007-08-28 20:35 真 OO无双 阅读(400) | 评论 (1)  编辑 |

     摘要: 遞迴/递归(recursive)優點是代碼精簡,尤其若算法牽涉到前後相關,如n! = n * (n-1) * (n-2)...* 2 * 1,不用recursive很難寫,但recursive的缺點會大量消耗電腦內存,若使用TMP(Template Metaprogramming),則可解決此缺點。  阅读全文

posted @ 2007-07-28 19:41 真 OO无双 阅读(2283) | 评论 (4)  编辑 |

     摘要: Adapter Pattern有Class Adapter和Object Adapter兩種實現方式。Class Adapter的優點是可override Adaptee,且實現方式較簡單,但缺點是只能針對特定class量身訂做Adapter,配合泛型,可解決Class Adapter的缺點。  阅读全文

posted @ 2007-07-19 00:11 真 OO无双 阅读(2037) | 评论 (12)  编辑 |

     摘要: boost常用的Generic Patterns介紹。  阅读全文

posted @ 2007-07-16 00:15 真 OO无双 阅读(867) | 评论 (0)  编辑 |

     摘要: 在(原創) 一個C++能跑的泛型,但在C#卻不能跑<已解決> (C++) (Template C++) (C#) 中,我們看到了.NET的Generics的multiple constraints是AND的關係,而非OR的關係,若要讓泛型支援OR的關係該如何做呢?  阅读全文

posted @ 2007-06-16 20:37 真 OO无双 阅读(2288) | 评论 (26)  编辑 |

     摘要: 一個關於C#和C++的泛型,改了兩天還改不出來,借用一下版面,有人能幫忙Debug嗎?改完我就從首頁拿掉<已解決>...謝謝  阅读全文

posted @ 2007-06-16 14:16 真 OO无双 阅读(2601) | 评论 (27)  编辑 |

posted @ 2007-05-24 21:23 真 OO无双 阅读(763) | 评论 (0)  编辑 |

     摘要: Function Pointer(C)、Delegate(C#)和Function Object(C++)這三個其實是一樣的功能,所以在此一併討論。  阅读全文

posted @ 2007-05-02 00:44 真 OO无双 阅读(3392) | 评论 (2)  编辑 |

     摘要: 在strategy pattern中,為了讓各strategy能方便存取原來物件的所有public member function,我們常用*this將整個物件傳給各strategy,這樣的設計並沒有什麼不好,但各strategy和原物件過於tight coupling,導致各strategy難以再和其他各物件搭配,本文使用template解決此問題。  阅读全文

posted @ 2007-04-06 22:06 真 OO无双 阅读(494) | 评论 (0)  编辑 |

     摘要: Head First Design Patterns是用strategy pattern當作第一個範例,而陳俊杉教授也是用strategy當作授課的第一個pattern,可見strategy的確適合初學者學第一個學習的pattern。  阅读全文

posted @ 2007-03-26 00:18 真 OO无双 阅读(1126) | 评论 (3)  编辑 |

     摘要: 看到C#的array自帶GetLength()很羨慕嗎?boost::array也自帶size()喔!!  阅读全文

posted @ 2007-02-25 18:34 真 OO无双 阅读(424) | 评论 (0)  编辑 |

     摘要: boost提供了很簡單的方式對字串做trim的動作。  阅读全文

posted @ 2007-02-22 00:51 真 OO无双 阅读(1002) | 评论 (1)  编辑 |

     摘要: 將array傳進function,在C/C++一直是很重要的課題,在C語言中,array傳進function的是pointer,但array size一直是大問題,除了compiler不做檢查外,可能還得另外傳array size(C#則不必);C++提出reference array和function template後,有更好的方式解決這個C語言的老問題。  阅读全文

posted @ 2007-02-09 14:54 真 OO无双 阅读(1256) | 评论 (0)  编辑 |

     摘要: 在template parameter list中,可使用typename和class,到底有什麼差別呢?  阅读全文

posted @ 2007-02-08 06:17 真 OO无双 阅读(184) | 评论 (0)  编辑 |

     摘要: 我的網友Allen Kuo看了我的淺談泛型設計的文章,希望我用實際的程式來表達出泛型的威力,在用實際的程式demo之前,我發現我們身邊就有一個經典的泛型實做:CSS。  阅读全文

posted @ 2006-12-17 00:16 真 OO无双 阅读(102) | 评论 (0)  编辑 |

     摘要: 泛型對於C#、Java程序員,是個完全陌生的領域,我試著用最簡單的比喻解釋什麼是泛型程式設計GP。  阅读全文

posted @ 2006-12-10 10:40 真 OO无双 阅读(236) | 评论 (2)  编辑 |

     摘要: std::string为library type,而int、double为built-in type,两者无法互转,这里使用function template的方式将int转std::string,将double转std:string。  阅读全文

posted @ 2006-10-10 21:47 真 OO无双 阅读(1327) | 评论 (1)  编辑 |