boost是一个准C++标准库,相当于STL的延续和扩充,它的设计理念和STL比较接近,都是利用泛型让复用达到最大化。 boost主要包含以下几个大类: 字符串及文本处理、容器、迭代器(iterator)、算法、函数对象和高阶编程、泛型编程、 模板元编程、预处理元编程、并发编程、数学相关、纠错和测试、数据结构、输入/输出、跨语言支持、内存相关、语法分析、杂项。
2 boost的下载和安装
我们可以在 boost官网 上下载最新的boost版本。由于boost库可以向标准库一样在多个平台上运行 ,因此官方上只以源码的形式提供。对于windows用户我们往往想直接下载一个安装组件直接安装而不是自己编译,我们可以在 这个网站 上直接下载对应的安装组件, 下面我们就以这个网站为例介绍安装组件的下载。
1. 打开网站,其界面显示如下:
2. 目前稳定的版本是1.63因此这里我下载1.63版本。一般正在更新的开源软件都会有一个最新版本和稳定版本, 如果我们不是在开发的话选择稳定版本即可。选择 *1.63.0* 之后,我们可用看到文件列表如下:
3. 我们可以看到这里有许多的安装文件。这是因为 boost windows的安装版本不但和处理器位数有关, 而且还和visio studio的版本有关 。这里我们先将 DEPENDENCY_VERSIONS.txt 文件下载下来并查看, 可以发现其中有一段说明如下:
Microsoft Visual Studio 2005 - msvc-8.0 - Service Pack 1
Microsoft Visual Studio 2008 - msvc-9.0 - Service Pack 1
Microsoft Visual Studio 2010 - msvc-10.0 - Service Pack 1
Microsoft Visual Studio 2012 - msvc-11.0 - Update 4
Microsoft Visual Studio 2013 - msvc-12.0 - Update 3
4. 比如这里我们使用的是VS2012。那么我们就应该下载 boost_1_63_0-msvc-11.0-64.exe 或者 boost_1_63_0-msvc-11.0-32.exe 。下载完毕之后根据提示按步骤安装即可。
3 boost的使用
关于boost的使用当然首先推荐 官方文档 。 当然也可以参考后面提到的 。下面以官网下载的源文件版boost为例简单介绍一些官网的入门例程。 这个例程在boost文件夹中的 index.html 也能找到。
1. 首先在visio studio中新建一个空的C++项目,这里将项目的名字命名为 boostTest ,然后添加一个源文件包含以下内容:
#include <boost/lambda/lambda.hpp> #include <iostream> #include <iterator> #include <algorithm> int main() { using namespace boost::lambda; typedef std::istream_iterator<int> in; std::for_each( in(std::cin), in(), std::cout << (_1 * 3) << " " ); }2. 工程建立完毕后,我们需要添加对应头文件的搜索路径,具体步骤如下:
* 在解决方案资源管理器中选中我们的项目( boostTest ),右键点击在弹出的菜单中选择 属性(R) , 或者直接使用快捷键 Alt+Enter 调出属性对话框。
* 在对话框左侧面板中依次选择 配置属性→C/C++→常规 ,在右侧面板中的 附加包含目录 中添加我们的boost所在目录, 如下图所示(这里是以VS2015为例进行配置,其他版本的VS显示可能略有不同):
* 然后再选择左侧面板中 配置属性→C/C++→预编译头 ,在右侧面板中将 预编译头 设置为 不适用预编译头 (默认),如下图所示:
* 配置完毕后,,我们就可以编译( Ctrl+Shift+B )并运行( F5 )我们的程序了, 如果出现错误可以再重新检查一遍配置过程或者查看boost文件夹中的 index.html 对应章节。运行结果如下 (在控制台输入 1 2 3 返回对应的×2结果):