progress对外输出精度只有小数点后两位(这点可以运行上节程序进行验证),即精确到0.01秒。

我们使用模板技术仿造一个progress_timer编写一个新类:new_progress_timer,以实现任意精度的输出。

new_progress_timer同样继承自timer,只是编程了模板类。模板参数N指明了输出精度,默认值为2,与progress_timer相同。

#include <boost\timer.hpp>
#include  <boost\progress.hpp>
#include <boost\static_assert.hpp>
#include <iostream>
using namespace boost;
using namespace std;//使用模板参数实现progress_timer
template<int N=2>
class new_progress_timer:public boost::timer
{
public:new_progress_timer(std::ostream &os=std::cout):m_os(os){BOOST_STATIC_ASSERT(N>=0&&N<=10);}~new_progress_timer(void){try{//保持流的状态std::istream::fmtflags old_flags=m_os.setf(std::istream::fixed,std::istream::floatfield);std::streamsize old_prec=m_os.precision(N);m_os<<elapsed()<<"s\n"<<std::endl;m_os.flags(old_flags);m_os.precision(old_prec);}catch( ...){}}private:std::ostream &m_os;
};//当精度为2时,使用下面这个

template<>
class new_progress_timer<2>:public boost::progress_timer
{};int main()
{new_progress_timer<10>     t;  //声明一个计时器,开始计时//dosomethingfor(int i=0;i<100;i++){cout<<"a";}cout<<endl;
}

转载于:https://www.cnblogs.com/zzu-liulei/p/6081673.html

扩展progress_timer的计时精度相关推荐

  1. linux ps le hrtime,前端Tips#4 - 用 process.hrtime 获取纳秒级的计时精度

    视频讲解 文字讲解 如果去测试代码运行的时长,你会选择哪个时间函数? 一般第一时间想到的函数是 Date.now 或 Date.getTime. 1.先讲结论 之所以这么选,是基于 精度 和 时钟同步 ...

  2. c语言计时程序 纳秒,前端Tips#4 - 用 process.hrtime 获取纳秒级的计时精度

    视频讲解 文字讲解 如果去测试代码运行的时长,你会选择哪个时间函数? 一般第一时间想到的函数是 Date.now 或 Date.getTime. 1.先讲结论 之所以这么选,是基于 精度 和 时钟同步 ...

  3. 用计算机做计时时钟的控制,使用Visual C ++制作一个微秒精度的计时器(Vb也适用)...

    使用Visual C ++制作微秒精度计时器 在工业生产控制系统中,需要定期完成许多操作,例如: 定期显示当前时间,定期刷新屏幕上的进度条,上位机发送命令并将数据传输到下位机特别是在需要高控制性能的控 ...

  4. CUDA 8的混合精度编程

    CUDA 8的混合精度编程 Volta和Turing GPU包含 Tensor Cores,可加速某些类型的FP16矩阵数学运算.这样可以在流行的AI框架内更快,更轻松地进行混合精度计算.要使用Ten ...

  5. CUDA 8混合精度编程

    CUDA 8混合精度编程 Mixed-Precision Programming with CUDA 8 论文地址:https://devblogs.nvidia.com/mixed-precisio ...

  6. time.h中的相关计时函数time,localtime,clock等详解

    C++对时间的操作也有许多值得大家注意的地方.最近,在技术群中有很多网友也多次问到过C++语言中对时间的操作.获取和显示等等的问题.下面,在这篇文章中,笔者将主要介绍在C/C++中时间和日期的使用方法 ...

  7. 【C/C++】计时函数比较

    目前,存在着各种计时函数,一般的处理都是先调用计时函数,记下当前时间tstart,然后处理一段程序,再调用计时函数,记下处理后的时间tend,再tend和tstart做差,就可以得到程序的执行时间,但 ...

  8. java 计时_Breitling(百年灵)世界时间终极计时腕表

    所有热爱旅行的冒险家可以尽情期待,一款适合所有手腕的全新尺寸"旅行计时腕表"将在今年巴塞尔表展上华彩亮相.百年灵世界时间终极计时腕表(Chronomat 44 GMT),适合腕间的 ...

  9. aws架构_如何使用AWS构建可扩展架构

    aws架构 What I learned building the StateOfVeganism ? 我学到的建立素食主义的方法是什么? By now, we all know that news ...

最新文章

  1. 可逆矩阵性质总结_伴随矩阵
  2. 大华测试笔试题_互联网校招非技术岗的这三类笔试题目你都清楚了吗?
  3. python自学流程-python 学习流程
  4. SAP中差异的一些概念
  5. hdp amabri mysql_MySQL数据库之Ambari 安装配置 MySql
  6. 操作系统概述 记录操作系统相关知识
  7. 基于JAVA+Servlet+JSP+MYSQL的图书销售管理系统
  8. CPU中的Little Endian与Big Endian
  9. 马斯克“地狱”归来,回应一切
  10. 【转】如何删除一个repository(仓库)
  11. CISP考试真题,CISP测试题
  12. 3t studio 导出数据_Studio 3T下操作MongoDB的基本命令(转载)
  13. jenkins调用shell脚本实现自动上线完整项目---此项目中用到了git parameter、choise parameter参数化构建(五)
  14. vue和风天气,天气预报
  15. android仿空间短视频播放
  16. 使用Wake On Lan远程唤醒
  17. Python对文件的创建和读写操作
  18. vgg19.npy下载
  19. ISCC2021—ISCC客服一号冲冲冲(二)
  20. 数据分析之体测成绩自动化

热门文章

  1. ASP.NET项目中的驼峰格式JSON响应
  2. 12月数据库榜单,整体排名稳定如昨,Oracle 分数接连下降
  3. 程序在发布前就应该发现的一些错误
  4. 九号机器人田奇峰_九号公司成功登陆科创板
  5. 大android 平板,15.6英寸安卓大平板? 阿芙罗S1评测
  6. 音乐编辑 java_求助 关于java编辑音乐
  7. k1658停运到什么时候_商洛一小区电梯停运10余天,高层业主:我可太难啦
  8. 手机网站按住放大图片_这6个鲜为人知的黑科技网站,我可以玩一天
  9. python整数类型进制表示_Python数据类型--整型
  10. telnet 无法连接_Telnet 为什么不能以 root 身份登录系统?