最近在学习boost库,想来对C++了解的人,应该都不陌生吧,以前没怎么注意过,也从来把注意力放到数据结构和算法这一块,结果,一上班就被虐的的体无完肤,从而决心把boost过一遍,趁着之前还有些底子,把它好好捡起来。毕竟以后要靠它来吃饭。废话不说了。

    
    晚上从基础看起,先把过一遍再说。

    
    boost最简单莫过于时间了吧,就从这里看起吧,开始gogogogo!!!

    boost描述时间的库有timer、date_time和chrono。

    从timer开始吧,它包含三个组件,分别是计时器timer、progress_timer和进度指示器progress_display.

    

    timer库可以测量时间的流逝,是一个小型的计时器,提供毫秒级别的精度。

    头文件:"boost/timer.hpp"

    using namespace boost;

    关于类的内部时间,可以自行查阅boost的文档或实现源码http://www.boost.org。

    #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;
        }
    }