boost计时器相关的类有三个:boost::timer boost::progress_timer(继承自boost::timer) boost::progress_display

boost::timer 
头文件:<boost/timer.hpp>
在定义的时候就开始计时,需要截止的时候调用boost::timer::elapsed()获取从计时开始到目前为止的秒数。如果需要重新计时,可以使用boost::timer::restart()方法。

boost::progress_timer 
头文件:<boost/progress.hpp>
boost::progress_timer继承自boost::timer,使用更简单, 增加的一点功能就是在析构的时候自动输出所经过的秒数,保留两位小数。可以利用块代码中临时变量的析构特性,计算一个代码块中的执行时间。

boost::progress_display 
头文件:<boost/progress.hpp>
boost::progress构造函数中需要一个expected_count整数作为进度条达到100%时的最大数。 
然后这个类重载了operator+= operator++用来增加进度条的大小。成员函数count()返回当前的计数,当计数达到expected_count()时,进度达到100%.

我们以boost::progress_timer 的使用为例

实验如图:

代码如下:

#include <cstdio>
#include <iostream>
#include <boost/progress.hpp>using namespace std;
using namespace boost;int main()
{{cout<<"执行10亿次的加法耗时"<<endl;progress_timer t;int  sum = 1; for (int i=0;i<1000000000;i++){sum += i;}cout<<"result:"<<sum<<endl;// 超过作用域时,变量析构,自动打印出时间}getchar();return 0;
}

boost之timer,progress_timer,progress_display的介绍及使用相关推荐

  1. Boost之timer库

    摘要 :      Boost中使用timer和date_time库来完美地解决了C++无法高效地处理时间和日期的问题.在此文中,介绍timer库:而date_time库在后续博文中介绍.       ...

  2. Boost:timer计时器测试程序

    Boost:timer计时器测试程序 实现功能 C++实现代码 实现功能 boost::asio模块,timer计时器测试程序 C++实现代码 #include <iostream> #i ...

  3. 【Boost】timer、progress_timer和progress_display

    Table of Contents 1 timer 2 progress_timer 3 progress_display 1 timer timer t; //声明一个timer类对象t,调用构造函 ...

  4. boost:timer,计时器

    C++一直缺乏对时间和日期的处理能力,而boost使用提供了三种解决方案: timer:和平台无关 date_time:和平台无关 chrono:和平台相关 这里我们来学习timer库 timer是一 ...

  5. 浅尝boost之timer

    我一直是在努力推介boost,因为boost是一块美玉,但,没有什么是完美的.现在,我将暴露出boost的一点瑕疵:boost::timer.虽说是瑕不掩瑜,但瑕疵就是瑕疵.先看一看下面的例子:  / ...

  6. boost库 tbb_boost库常用库介绍

    在文本处理部分,conversion/lexcial_cast类用于"用C++"的方法实现数字类型和字符串之间的转换. 主要是替代C标准库中的 atoi. itoa之类的函数.当然 ...

  7. 基于mdm9206 threadx_os的timer操作相关API介绍

    大家好,今天小白给大家介绍一下,关于mdm9206 threadx_os的timer操作相关的api,希望能和大家一起交流学习. 一 . 概述 本篇介绍的接口是实现高级时间服务(ATS)计时器服务. ...

  8. Android之Timer和TimerTask的介绍

    在开发中我们有时会有这样的需求,即在固定的每隔一段时间执行某一个任务.比如UI上的控件需要随着时间改变,我们可以使用Java为我们提供的计时器的工具类,即Timer和TimerTask. Timer是 ...

  9. boost锁机制中Semaphores的介绍

    结构 What's A Semaphore? Boost.Interprocess Semaphore Types And Headers Anonymous semaphore example Wh ...

最新文章

  1. Nacos 1.3.0 发布, 全新内核构建
  2. 异常处理:SEVERE: Unable to process Jar entry [......]for annotations java.io.EOFException
  3. Android的沉浸式状态栏与变色状态栏详解
  4. python 命名管道_Python:检查命名管道是否有数据
  5. log 的 debug()、 error()、 info()方法的区别
  6. 3d立体相册特效html网页代码_新闻类网页正文通用抽取器
  7. java注解_Java注解教程及自定义注解
  8. 【安全】This base cannot be created with PLA.
  9. vue项目中input框默认获得焦点,回车选中输入文本
  10. PAIP.一些流氓软件的流氓营销方法.txt
  11. Python classmethod()
  12. Akamai阿卡迈_abck逆向sensor_data(一)
  13. 8月第四周回顾:四核产品将发口角先起 AMD遭遇跳票流言
  14. 函数设计中参数的规则
  15. 数据结构 插入排序(InsertionSort Sort) 详解 附C++代码实现:
  16. 百度代码配置化实践:配置化是业务架构三化之一
  17. vue基础--vue的生命周期
  18. Linux中文件的压缩和解压缩
  19. 花千骨23日服务器维护,花千骨手游12日服务器数据互通维护通知
  20. pytorch,cuda,cudatoolkit,driver版本详解

热门文章

  1. 关于unix下使用tar的一些常用技巧
  2. AtCoder - arc098_b Xor Sum 2(尺取+位运算)
  3. 2020CCPC(威海) - Caesar Cipher(线段树+哈希)
  4. POJ - 2778 DNA Sequence(AC自动机+矩阵快速幂)
  5. python制作gif动画_实用的Python(2)利用Python制作gif动图
  6. TrackFormer解读
  7. Web开发-Django模型层
  8. 两个摄像头自动切换画面_利用OBS虚拟摄像头实现假装开会
  9. FaceBook机器学习开源DL模块
  10. jsoncpp和rapidjson哪个好用?