boost(C++庫)

boost(C++庫)

本詞條是多義詞,共3個義項
更多義項 ▼ 收起列表 ▲

Boost庫是一個可移植、提供原始碼的C++庫,作為標準庫的後備,是C++標準化進程的開發引擎之一。 Boost庫由C++標準委員會庫工作組成員發起,其中有些內容有望成為下一代C++標準庫內容。在C++社區中影響甚大,是不折不扣的“準”標準庫。Boost由於其對跨平台的強調,對標準C++的強調,與編寫平台無關。大部分boost庫功能的使用只需包括相應頭檔案即可,少數(如正則表達式庫,檔案系統庫等)需要程式庫。但Boost中也有很多是實驗性質的東西,在實際的開發中使用需要謹慎。

Boost庫是為C++語言標準庫提供擴展的一些C++程式庫的總稱。

Boost庫由Boost社區組織開發、維護。其目的是為C++程式設計師提供免費、同行審查的、可移植的程式庫。Boost庫可以與C++標準庫完美共同工作,並且為其提供擴展功能。Boost庫使用Boost License來授權使用。

Boost社區建立的初衷之一就是為C++的標準化工作提供可供參考的實現,Boost社區的發起人Dawes本人就是C++標準委員會的成員之一。在Boost庫的開發中,Boost社區也在這個方向上取得了豐碩的成果。在送審的C++標準庫TR1中,有十個Boost庫成為標準庫的候選方案。在更新的TR2中,有更多的Boost庫被加入到其中。從某種意義上來講,Boost庫成為具有實踐意義的準標準庫。

可下載Boost C++ Libraries安裝boost庫。大部分boost庫功能的使用只需包括相應頭檔案即可,少數(如正則表達式庫,檔案系統庫等)需要程式庫。裡面有許多具有工業強度的庫,如graph庫。

基本介紹

  • 中文名:boost
  • 本質:C++庫
  • 特點:可移植、提供原始碼
  • 發起人:C++標準委員會庫工作組
主要分類,常用庫,相關圖書,

主要分類

按照功能分類的Boost庫列表
按照實現的功能,Boost可為大致歸入以下20個分類,在下面的分類中,有些庫同時歸入幾種類別。
字元串和文本處理
a) Conversion
b) Format
c) IOStream
d) Lexical Cast
e) Regex
f) Spirit
g) String Algo
h) Tokenizer
i) Wave
j) Xpressive
容器
a) Array
b) Bimap
c) Circular Buffer
d) Disjoint Sets
e) Dynamic Bitset
f) GIL
g) Graph
h) ICL
i) Intrusive
j) Multi-Array
k) Multi-Index
l) Pointer Container
m) Property Map
n) Property Tree
o) Unordered
p) Variant
疊代器
a) GIL
b) Graph
c) Iterators
d) Operators
e) Tokenizer
算法
a) Foreach
b) GIL
c) Graph
d) Min-Max
e) Range
f) String Algo
g) Utility
函式對象和高階編程
a) Bind
b) Function
c) Functional
d) Functional/Factory
e) Functional/Forward
f) Functional/Hash
g) Lambda
h) Member Function
i) Ref
j) Result Of
k) Signals
l) Signals2
m) Utility
泛型編程
a) Call Traits
b) Concept Check
c) Enable If
d) Function Types
e) GIL
f) In Place Factory, Typed In Place Factory
g) Operators
h) Property Map
i) Static Assert
j) Type Traits
模板元編程
a) Function Types
b) Fusion
c) MPL
d) Proto
e) Static Assert
f) Type Traits
預處理元編程
a) Preprocessors
並發編程
a) Asio
b) Interprocess
c) MPI
d) Thread
數學和數字
a) Accumulators
b) Integer
c) Interval
d) Math
e) Math Common Factor
f) Math Octonion
g) Math Quaternion
h) Math/Special Functions
i) Math/Statistical Distributions
j) Multi-Array
k) Numeric Conversion
l) Operators
m) Random
n) Rational
o) uBLAS
排錯和測試
a) Concept Check
b) Static Assert
c) Test
數據結構
a) Any
b) Bitmap
c) Compressed Pair
d) Fusion
e) ICL
f) Multi-Index
g) Pointer Container
h) Property Tree
i) Tuple
j) Uuid
k) Variant
圖像處理
a) GIL
輸入輸出
a) Asio
b) Assign
c) Format
d) IO State Savers
e) IOStreams
f) Program Options
g) Serialization
跨語言混合編程
a) Python
記憶體管理
a) Pool
b) Smart Ptr
c) Utility
解析
a) Spirit
編程接口
a) Function
b) Parameter
雜項
a) Compressed Pair
b) Conversion
c) CRC
d) Date Time
e) Exception
f) Filesystem
h) Lexical Cast
i) Meta State Machine
j) Numeric Conversion
k) Optional
l) Polygon
m) Program Options
n) Scope Exit
o) Statechart
p) Swap
q) System
r) Timer
s) Tribool
t) Typeof
u) Units
v) Utility
w) Value Initialized
編譯器問題的變通方案
a) Compatibility
b) Config

常用庫

Regex
正則表達式庫
Spirit
LL parser framework,用C++代碼直接表達EBNF
Graph
圖組件和算法
Lambda
在調用的地方定義短小匿名的函式對象,很實用的functional功能
concept check
檢查泛型編程中的concept
Mpl
用模板實現的元編程框架
Thread
可移植的C++多執行緒庫
Python
把C++類和函式映射到Python之中
Pool
記憶體池管理
smart_ptr
5個智慧型指針,學習智慧型指針必讀,一份不錯的參考是來自CUJ的文章:

相關圖書

Boost程式庫完全開發指南:深入C++“準”標準庫
C++11/14高級編程:Boost程式庫探秘(第3版)

相關詞條

熱門詞條

聯絡我們