当前位置首页 > 百科> 正文

boost(C++库)

2019-07-28 19:50:23 百科
boost(C++库)

boost(C++库)

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
g) Flyweight
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版)
Boost程式库探秘:深度解析C++準标準库
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:baisebaisebaise@yeah.net