最近因为项目开发的原因,常使用boost。仅凭借记忆,写一些实用的小组件。
1、位于<boost/utility.hpp>中的noncopyable:将一个类限制为“不可复制”。
2、BOOST_FOREACH,非常好用的foreach实现,不过要注意,不能在foreach内部修改迭代器。BOOST_FOREACH对C++程序员而言,可以算是“改变了人生的一个组件”了:)
3、boost::thread中对数据加锁非常方便。利用构造函数和析构函数,分别执行加锁和解锁。
4、boost::lambda和boost::bind似乎有冲突,仅包含相关头文件,就会导致gcc编译出错。
5、boost::program_options解析命令行参数,基本算是最自然的解决方案了。
6、boost::serialization用于将数据存以xml等格式。而且可以以非侵入式形式出现。
7、boost::filesystem提供了大多多文件系统操作的所需功能。一看接口就能写代码。
本文介绍了Boost库中几个非常实用的组件,包括noncopyable防止类被复制、BOOST_FOREACH简化迭代器遍历、boost::thread简化线程同步、boost::lambda与boost::bind的注意事项、boost::program_options简化命令行参数解析、boost::serialization支持数据序列化以及boost::filesystem提供文件系统操作。
4279





