我之前听到过很多好评关于Boost,想尝试一下。于是我从Ubuntu 9.04的软件包管理器中下载了所有必需的包。但现在我遇到了一个问题,就是不知道如何使用这些库。
是否有人知道一个好的Boost教程,能从“Hello World”一直讲到高级主题,并且还包括如何在Ubuntu上使用g++编译程序?
我之前听到过很多好评关于Boost,想尝试一下。于是我从Ubuntu 9.04的软件包管理器中下载了所有必需的包。但现在我遇到了一个问题,就是不知道如何使用这些库。
是否有人知道一个好的Boost教程,能从“Hello World”一直讲到高级主题,并且还包括如何在Ubuntu上使用g++编译程序?
同意;boost网站大多数情况下都有很好的教程,按子库分解。
至于编译,库实现的80%定义在头文件中,使得编译变得微不足道。例如,如果您想使用shared_ptr,只需添加
#include <boost/shared_ptr.hpp>
我使用基于Ubuntu的Easypeasy 1.1(适用于上网本),通过Synaptic软件包管理器安装libboost-dev。然后只需添加以下内容:
#include "boost/foreach.hpp"
for (std::vector<Ask*>::iterator ii=ui.begin(); ii!=ui.end(); ++ii)
std::cout << (*ii)->prompt() << (*ii)->answer() << std::endl;
使用:
BOOST_FOREACH (Ask* ii, ui)
std::cout << ii->prompt() << ii->answer() << std::endl;
Boost不是一种编程语言,也不是一个应用程序框架——因为它只是一组库的集合,所以不存在Boost“Hello World”程序。Boost中的大多数库可以更或少独立使用,并且它们的大小从一个函数到可以独立存在的大型库不等。
了解Boost的最佳方法就是在编写新代码时尝试使用它。每当可能时,请使用smart_ptr
;下次想要进行编译时工作时,请使用MPL。Boost有很多变化,但您应该从Utility部分开始查看;那些是最轻量级和最常用的库。