Item 55: Familiarize yourself with Boost.
Boost是一個C++開發者的社區,作為C++標准的試驗場, 收容了很多高質量、開源的、跨平台、獨立於編譯器的C++庫, 包括許多TR1組件的實現。
Boost是其他C++組織和社區所不能比擬的:
Boost社區中的庫千差萬別,較小的庫(比如Convention)除了錯誤處理和跨平台外只有幾行代碼; 較大的庫(比如Boost Graph Library、Boost MPL Library) 卻需要整本的書來寫它們。這些庫可以分為以下幾個大的類別:
printf
、正則表達式、 分詞(tokenizing)、轉換(parsing)。函數對象和高階編程。比如有趣的Lambda庫:
cpp using namespace boost::lambda; std::vector
_1 是 Lambda 庫的占位符,表示當前元素
也有一些程序設計領域的東西並不在Boost裡面, 比如GUI開發、數據庫連接等。