Boost库学习(2) 时间与日期

一、背景

  C++缺乏对时间和日期的处理能力,不得不求助于C,使用笨拙的结构和函数(struct tm,time())。现在,Boost使用timer和date_time解决了这个问题。

二、timer简介

  1、timer是一个很小的库,提供简易的度量时间和进度显示功能,可以用于性能测试等需要计时的任务。它包含三个组件:分别是 计时类 timer、progress_timer和进度指示类progress_display

  2、组件介绍

 作用需包含的头文件其他说明
timer测量时间的流逝,提供毫秒级别的计时精度和操作函数

#include<boost/timer.hpp>

using namespace boost;

常用成员函数:

elapsed_min():timer测量时间的最小精度;

elapsed_max():timer测量时间的最大范围;

progress_timer也是一个计时器,继承自timer,会在析构时自动输出时间

#include<boost/progress.hpp>

using namespace boost;

其构造函数说明:

progress_timer(std::ostream& os),允许将析构输出定向到指定的IO流里;

progress_display在控制台上显示程序执行的进度

#include<boost/progress.hpp>

using namespace boost;

缺陷:

无法把进度显示输出和程序输出分离;

 

三、date_time库简介(有待进一步整理)

  处理日期和时间(取当地日期时间,日期时间的运算,与tm机构的转换,日期时间的格式化等),

 

四、总结

  1、基于跨平台可移植的指导思想,timer实现源码中使用了C标准中的std::clock();

  2、timer和progress_timer是计时小工具,精度不够但是好用够用,特别是progress_timer,利用了C++析构函数会被自动调用的特点能够自动显示时间;

  3、progress_display可显示程序执行的进度,但是容易被程序其他的输出打乱;

  4、progress_timer和progress_display均私有继承了noncopyable类,防止被无意的拷贝而破坏了正确的行为;

  5、date_time填补了C++98中“时间和日期”的空白;

 

 

  

 

转载于:https://www.cnblogs.com/BlueGeek/archive/2013/03/07/2948266.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值