0 摘要
一直流傳這麼一個說法,想成爲高手,一定要多讀高手寫的源代碼。哪些代碼是好材料呢?C++標準庫的源代碼?不,如果您讀過,就會發現:要麼是各種實現獨 有的表達方式讓人摸不着頭腦,要麼是恐怖的代碼風格(如到處是下劃線)憋得人難受。Boost庫的代碼則相當清晰,註釋合理,命名規範,絕對是適合閱讀的 典範。同時,Boost內容廣泛,數值計算、泛型編程、元編程、平臺API……不妨從容選擇自己感興趣的部分,細細品味。
在本文中,我們將會介紹了Boost庫的下載與安裝,並將體驗Boost庫中一個非常簡單實用的組件lexcial_cast。
1 Boost簡介
Boost是什麼?一套開放源代碼、高度可移植的C++庫。
誰發起的?C++標準委員會庫工作組。所以,質量保證,不怕遇到假冒僞劣產品。
有些什麼呢?瞧瞧:
- 正則表達式,可以與POSIX API和Perl語言處理正則表達式的功能相媲美,而且還能支持各種字符類型(如char、wchar_t,甚至還可以是自定義字符類型);
- 多線程,想了很久的跨平臺多線程庫了;
- 數據結構“圖”,再加上即將加入標準的hash_set、hash_map、hash_multiset、hash_multimap等等(事實上不少STL實作,如SGI STL,已經支持以上數據結構),C++對數據結構的支持已近完備;
- python,沒錯,對Python語言的支持;
- 智能指針,與std::auto_ptr一起善加使用,可杜絕內存泄露,效率更不可和垃圾收集機制GC同日而語;
- 更有循環冗餘的CRC、可輕鬆定義返回多個值函數的元組tuple、可容納不同類型值的any、對標準庫各方面的補充……
- 還在迅速擴大中,部分內容有望進入C++標準庫……
2 Boost學習資源
- boost的老巢 http://www.boost.org
- boost的中文站: http://www.c-view.org
- CSDN--Boost 系列專題 http://www.csdn.net/Subject/336/index.shtm
- Linux伊甸園論壇- STL/boost專區 http://www.linuxeden.com/forum/forumdisplay.php?f=37
- dozb的blog http://dozb.blogchina.com
- boost所有文檔 http://boost.sourceforge.net/libs/libraries.htm