boost库学习
2009-07-15 12:15
239 查看
从www.boost.org下载,也可以从国内镜像boost.c-view.org下载,我下载的版本是1.31,好象1.32快要出了。直接
下载后解压出来即可使用,编译的时候必须把boost的路径加到命令行里。boost的大部分组件都可以直接使用,另外有一些组件因为平台的原因需要编译
库,暂时我还没有自己编译过库。
字符串转换到数值的时候,先包含头文件#include <boost/lexical_cast.hpp>,然后如下使用:int a
= boost::lexical_cast<int>("123");即可以将字符串"123"转换为int型的123。
数组->字符串的转换也一样,比如string s = boost::lexical_cast<string>(123.12);
如果转换失败,会有bad_lexical_cast异常抛出,该类是bad_cast的子类。
boost依赖于字符流std::stringstream,它的原理是将源类型读入到字符流中,再写到目标类型中。
lexical_cast不仅仅局限于字符串和数值类型之间的转换,可在任意可输出到stringstream的类型和任意可从stringstream输入的类型间转换。
timer类包含在头文件boost/timer.hpp中,progress_timer和progress_display类都包含在boost/progress.hpp中。
timer类测量程序耗用时间,它使用了标准库的clock()函数,有良好的移植性,但代价却是精度不高。
progress_timer类自动测量程序耗费时间,在对象时显示耗费时间信息,默认向std::cout输出字符信息。比如在main中生成一个progress_timer的对象t,在程序结束的时间会在屏幕上输出执行的时间。
progress_display类以适当的形式在适当的位置显示进度条。比如在执行一个for循环之臆生成一个对象
progress_display show_progress(10000);然后在执行这个for循环的过程中让这个对象自加:for(int
i=0;i<10000;i++){++show_progress;},这样就会边执行边在屏幕上显示进度条。
下载后解压出来即可使用,编译的时候必须把boost的路径加到命令行里。boost的大部分组件都可以直接使用,另外有一些组件因为平台的原因需要编译
库,暂时我还没有自己编译过库。
lexical_cast
lexical_cast用来做类型转换,可以是字符串->数值,也可以是数值->字符串。用法很简单,字符串转换到数值的时候,先包含头文件#include <boost/lexical_cast.hpp>,然后如下使用:int a
= boost::lexical_cast<int>("123");即可以将字符串"123"转换为int型的123。
数组->字符串的转换也一样,比如string s = boost::lexical_cast<string>(123.12);
如果转换失败,会有bad_lexical_cast异常抛出,该类是bad_cast的子类。
boost依赖于字符流std::stringstream,它的原理是将源类型读入到字符流中,再写到目标类型中。
lexical_cast不仅仅局限于字符串和数值类型之间的转换,可在任意可输出到stringstream的类型和任意可从stringstream输入的类型间转换。
timer
boost提供了timer类用于计时,另外还有计时器时间报告类progress_timer和进度条显示类progress_display。timer类包含在头文件boost/timer.hpp中,progress_timer和progress_display类都包含在boost/progress.hpp中。
timer类测量程序耗用时间,它使用了标准库的clock()函数,有良好的移植性,但代价却是精度不高。
progress_timer类自动测量程序耗费时间,在对象时显示耗费时间信息,默认向std::cout输出字符信息。比如在main中生成一个progress_timer的对象t,在程序结束的时间会在屏幕上输出执行的时间。
progress_display类以适当的形式在适当的位置显示进度条。比如在执行一个for循环之臆生成一个对象
progress_display show_progress(10000);然后在执行这个for循环的过程中让这个对象自加:for(int
i=0;i<10000;i++){++show_progress;},这样就会边执行边在屏幕上显示进度条。
相关文章推荐
- 【04】 Boost库学习笔记之线程(thread)
- boost库学习之regex
- 卷积神经网络学习一:必要的OpenCV库、TBB库和boost库安装及配置
- boost库 学习笔记一 boost::share_mutex 互斥锁 读写锁
- boost库学习之 scoped_ptr scoped_array
- Boost库学习(2)thread 1
- Boost库学习之旅入门篇
- Boost库学习----timer
- Boost库学习(1)log和unittest
- boost库学习笔记
- Boost库智能指针学习
- boost库学习笔记
- 【03】 Boost库学习笔记之Bind
- Boost库学习随记二 date_time、time_duration、date_facet、time_facet、timer库示例等:
- boost库学习总结
- Boost库学习
- Boost库学习(6)filesystem
- boost库学习之 lexical_cast
- boost库学习之 noncopyable
- boost库学习