Boost C++ 库(Libraries)是一组扩展C++功能的经过同行评审(Peer-reviewed)且开放源码程序库。大多数的函数为了能够以开放源码或者封闭项目的方式运作,而许可于Boost软件许可协议(Boost Software License)之下。许多Boost的开发人员是来自C++标准委员会,而部分的Boost库成为C++的TR1标准之一。
为了要确保库的效率与弹性,Boost广泛的使用模板(template)功能。而它是针对各式领域的C++用户与应用领域(Application Domain)上,包含的库类别从像smart_ptr 库(页面存档备份,存于互联网档案馆)这种类通用库,到像是文件系统的操作系统抽象层,甚至能够利用Boost来开发额外的库或是给高级的C++用户利用,像是MPL(页面存档备份,存于互联网档案馆)。
现有的 Boost 包含大约150种不同的函数库,以下面几项做范例:
Boost 包含了 uBLAS 线性代数函数库,能够借由基本函数库子函数(BLAS)来支持向量与矩阵形运算。
#include <boost/numeric/ublas/vector.hpp>#include <boost/numeric/ublas/matrix.hpp>#include <boost/numeric/ublas/io.hpp>#include <iostream>using namespace boost::numeric::ublas;/* 举例 "y = Ax" */int main () { vector<double> x (2); x(0) = 1; x(1) = 2; matrix<double> A(2,2); A(0,0) = 0; A(0,1) = 1; A(1,0) = 2; A(1,1) = 3; vector<double> y = prod(A, x); std::cout << y << std::endl; return 0;}