最近在学习boost库,想来对C++了解的人,应该都不陌生吧,以前没怎么注意过,也从来把注意力放到数据结构和算法这一块,结果,一上班就被虐的的体无完肤,从而决心把boost过一遍,趁着之前还有些底子,把它好好捡起来。毕竟以后要靠它来吃饭。废话不说了。
晚上从基础看起,先把过一遍再说。
boost最简单莫过于时间了吧,就从这里看起吧,开始gogogogo!!!
boost描述时间的库有timer、date_time和chrono。
从timer开始吧,它包含三个组件,分别是计时器timer、progress_timer和进度指示器progress_display.
timer库可以测量时间的流逝,是一个小型的计时器,提供毫秒级别的精度。
头文件:"boost/timer.hpp"
using namespace boost;
关于类的内部时间,可以自行查阅boost的文档或实现源码
#include <iostream>
#include <boost/timer.hpp> using namespace boost;
int main( int argc, char *argv[] )
{ timer t; std::cout << t.elapsed() << std::endl; t.restart(); std::cout << "===============================" << std::endl; std::cout << t.elapsed_max() / 3600 << "h"<< std::endl; std::cout << t.elapsed_min() << "s"<< std::endl; std::cout << t.elapsed() << std::endl; t.restart(); std::cout << t.elapsed() << std::endl;}progress_timer:也是一个计时器,继承于timer,会在析构的时候自动输出时间,比timer的使用更加方便。
头文件:"boost/process.hpp"
using namespace boost;
{
boost::progress_timer pt; int i = 0; int arr[10000]; for ( i = 0 ; i < 10000 ; ++i ) { arr[i] = i+2/2; } }