Boost入门学习
2 日期与时间操作
2.1 timer 库
timer对象一旦被声明,它的构造函数就会开始计时,后面直接使用elapsed()函数进行测量时间
boost::timer t; //声明一个计时器对象
debug("max timespan:"<<t.elapsed_max()/3600<<"h") // 最大的时间范围
debug("min timespan:"<<t.elapsed_min()<<"s") // 最小的时间范围
debug("now time elapsed:"<<t.elapsed()<<"s") //从声明对象到当前行已使用的时间
debug("timer end")
timer的计时使用的是标准库中里的std::clock()函数,timer的构造函数记录当前clock数作为起始点,每次调用的elapsed()就会获取当前clock 然后减去起始点得到当前流逝或消耗的时间。
美妙的clock数由宏CLOCKS_PER_SEC定义。
elapsed_min是CLOCKS_PER_SEC的倒数
elapsed_max使用的是标准库数值的极限类numberic_limits,获得clock_t类型的最大值
2.2 process_timer
process_timer 派生自timer,会在析构的时候自动输出时间
include <boost/progress.hpp>
using namespace boost;
progress_timer t;
debug(t.elapsed())//输出当前流逝的时间
{
progress_timer t1;//声明之后再析构的时候自动输出流逝的时间
for(i=0;i<10000;i++);
}
参考
http://www.manongjc.com/detail/27-tskxjjdimidvrqq.html
http://t.zoukankan.com/hanerfan-p-4333444.html
- 上一篇: MinGW版Boost编译和使用教程
- 下一篇: 基于Python学习OpenGL