库命名方式
自动链接
bind 生成函数对象,支持全局函数,成员函数,支持嵌套,支持接口改造 ETC。。。
具体见
绑定到成员变量测试
class a
{
public:
int i;
};
int _tmain(int argc, _TCHAR* argv[])
{
a _a;
_a.i=1;
std::cout
<< boost::bind(&a::i,boost::ref(_a))();
getchar();
return 0;
}
lambda 表达式,构造匿名函数对象,相同功力下,不如 .NET 写起来直观,某种程度上讲是麻烦 。。。
function 记录同型类函数
signal/slot 事件,支持多播,多返回结果过滤,动态增减插槽
http://www.caole.net/diary/boost_signal.html
测试如下:
class a
{
public:
boost::signal<void (const std::string&)> g;
void f(const std::string& s)
{
g(s);
}
};
void g(const std::string& s)
{
std::cout
<< s
<< std::endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
a* _a=new a;
_a->g.connect(&g);
_a->f("1");
getchar();
return 0;
}
智能指针,管理对象生存期,远离讨厌的 new delete ?。。
具体见
PYTHON Vs c++ 互操作
conversion 类型转换库
polymorphic_cast 指针转换失败引发异常
lexical_cast 值类型与文本类型相互转化
array 一维数组
循环缓冲区
any 万能变量
variant
pool 对象池
Serialization序列化
支持集合,数组,多态类型序列化
有防重复处理
可序列化为 BINARY,XML等格式
如果有元数据支持,自动序列化。。。
ASSERT 断言
program_options 配置
支持从命令行、配置文件、注册表读取配置信息,能配以说明,指定默认值等。该配置为一维信息(包含集合),使用场合有限。