2005-11-23

smart pointer & small object allocator

之前受到Modern C++ Design 這本書的影響, 所以開始使用loki library裡的一些功能, 包括smart pointer, small object allocator 以及Int2Type, 感覺挺好用的. 最近開始在想是否要使用C++社群裡廣受歡迎的boost library. 目前看來Loki和boost有一些相互重疊的地方, 其中最主要的差別是smart pointer的設計方式. 雖然主要的功能是差不多的. 不過設計的方式卻大不相同. 以及Loki提供了一些design pattern的template class, 比如說 Singleton. 這個部分算是boost比較缺乏的. 另外一直對boost是否有提供small object allocator感到存疑. 後來發現boost提供的pool算是接近的功能. 在不確定loki vs boost到底如何抉擇時, 於是開始用google去找答案..最後決定boost有提供的, 就用boost, 至於像是singlton 這種design pattern, 才會使用loki..主要的理由是boost的user比較多, 不管是效能或是品質比較值得信賴. 另外loki的small object allocator也被原作者建議
不要使用(他是建議使用原本C++提供的allocator即可).

有人說C++越來越學院派了...不知道這樣使用會不會太學院派以致於之後給其他C++ Programmer會有看不懂程式的狀況呢!?

0 意見: