<Boost> VS2010使用Boost(C++库)

6 篇文章 0 订阅

1. boost库

Boost库由 Boost社区组织开发、维护,目的是为C++程序员提供免费、同行审查的、可移植的程序库。
可以与C++库完美共同工作,并且为其提供扩展功能。
Boost库功能强大、构造精巧、跨平台、开源并且完全免费,使用了许多现代C++编程技术,内容涵盖字符串处理、正则表达式、容器与数据结构、并发编程、函数式编程、泛型编程、设计模式实现等许多领域,极大地丰富了C++的功能和表现力,能够使C++软件开发更加简洁、优雅、灵活和高效。
部分boost库功能的使用只需包括相应头文件即可,少数(如正则表达式库,文件系统库等)需要链接库。里面有许多具有工业强度的库,如graph库。
有名的数据库:

Regex:正则表达式库
Spirit:LL parser framework,用C++代码直接表达EBNF
Graph:图组件和算法
Lambda:在调用的地方定义短小匿名的函数对象,很实用的functional功能
concept check:检查泛型编程中的concept
Mpl:用模板实现的元编程框架
Thread:可移植的C++多线程库
Python:把C++类和函数映射到Python之中
Pool:内存池管理
smart_ptr:智能指针


2. VS2010中使用Boost环境搭建

1.下载Boost库

Boost官网下载(最新版本是1.57.0): 下载地址

2. 解压缩、编译

1)解压缩到你想要的目录。如C:\Program Files\boost_1_57_0, 具体参照官网的 指南文件
2)编译(有些库可直接包含头文件即可使用,可暂不编译):
C:\Users\Administrator>cd "C:\Program Files\boost_1_57_0"
C:\Program Files\boost_1_57_0>bootstrap
C:\Program Files\boost_1_57_0>.\b2

3. VS添加相关目录

1) 添加“附加包含目录”

属性->C/C++->常规->附加包含目录


2) 添加“库目录“

属性-> VC++目录 -> 库目录




4. 代码测试
#include <boost/lambda/lambda.hpp>
#include <boost/regex.hpp>
#include <iostream>
#include <iterator>
#include <algorithm>

void TestBoost()
{
	using namespace boost::lambda;
	typedef std::istream_iterator<int> in;

	std::for_each(
		in(std::cin), in(), std::cout << (_1 * 3) << " " );

	std::string line;
	boost::regex pat( "^Subject: (Re: |Aw: )*(.*)" );

	while (std::cin)
	{
		std::getline(std::cin, line);
		boost::smatch matches;
		if (boost::regex_match(line, matches, pat))
			std::cout << matches[2] << std::endl;
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值