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