1. 程式人生 > >阿Bin先生的專欄

阿Bin先生的專欄

一、Boost庫

       Boost庫是一個準標準庫,相當於STL的延續和擴充,它的設計理念和STL比較接近,都是利用泛型讓複用達到最大化。不過對比STL,boost更加實用。STL集中在演算法部分,而boost包含了不少工具類,可以完成比較具體的工作。        Boost主要包含一下幾個大類:字串及文字處理、容器、迭代子(Iterator)、演算法、函式物件和高階程式設計、泛型程式設計、模板超程式設計、預處理超程式設計、併發程式設計、數學相關、糾錯和測試、資料結構、輸入/輸出、跨語言支援、記憶體相關、語法分析、雜項。 有一些庫是跨類別包含的,就是既屬於這個類別又屬於那個類別。        Boost庫大部分元件不需要編譯,直接包含標頭檔案即可。例如,如果要使用boost::tribool,只需要在C++原始檔中新增如下include語句即可。例如:include <boost/logic/tribool.hpp>。 Boost庫的檔案與我們平常使用的標頭檔案不同,這正是Boost的獨特之處。它把C++類的宣告和實現都放在一個檔案裡,而不是分成兩個檔案,也就是“.h+.cpp“,故檔案的字尾是.hpp。剩下的庫必須編譯成靜態庫或者動態庫才能使用。

二、學習使用Boost庫

       剛開始使用Boost庫開發時,遇到問題就網上搜索,每次感覺一知半解。很快我意識到自己犯了低階錯誤,應該多用源資訊(即官方文件)。所以以後學習什麼庫,都先看看官方文件。當然我覺得《The Boost C++ Libraries》這本書也不錯。下面是這些資料的連結: