当前位置: 首页 > news >正文

免费网站软件推荐请人做网站交易平台

免费网站软件推荐,请人做网站交易平台,公司官网制作百度,企业网站优化多少钱使用 <chrono> 库的好处是可以以不同的精度测量时间&#xff0c;包括纳秒、微秒、毫秒和秒。通过计算两个时间点之间的时间间隔&#xff0c;可以精确地测量代码执行的时间。 通过一个具体实例来逐步讲解时间库chrono的使用&#xff0c;实例如下&#xff1a; // 开始计时a…

使用 <chrono> 库的好处是可以以不同的精度测量时间,包括纳秒、微秒、毫秒和秒。通过计算两个时间点之间的时间间隔,可以精确地测量代码执行的时间。

通过一个具体实例来逐步讲解时间库chrono的使用,实例如下:

  // 开始计时auto startTime = std::chrono::steady_clock::now();//自己定义的检查答案的函数,可忽略checkAnswers(problems);// 停止计时auto endTime = std::chrono::steady_clock::now();// 计算答题时间std::chrono::duration<double> elapsedSeconds = endTime - startTime;int elapsedMinutes = static_cast<int>(elapsedSeconds.count() / 60);int elapsedSecondsRemainder = static_cast<int>(elapsedSeconds.count()) % 60;std::cout << "Time taken: " << elapsedMinutes << " minutes " << elapsedSecondsRemainder << " seconds" << std::endl;

逐条语句讲解:

开始或者停止计时的代码

    // 开始计时auto startTime = std::chrono::steady_clock::now();// 停止计时auto endTime = std::chrono::steady_clock::now();

这段代码使用了C++标准库中的 <chrono> 头文件中的时间库,用于获取开始计时时间并将其存储在变量 startTime 中,获取停止计时时间并将其存储在变量 endTime 中。

下面是对该代码的解释:

  1. std::chrono::steady_clocksteady_clock 是一个表示稳定、递增的时钟,用于测量时间间隔。它提供了一个相对稳定的时间基准,适用于测量较小时间间隔。

  2. std::chrono::steady_clock::now()now()steady_clock 类的成员函数,用于获取当前的时间点。

  3. auto startTime = std::chrono::steady_clock::now();:这行代码使用 auto 关键字自动推导变量类型,将当前时间点的值赋给变量 startTime。由于 std::chrono::steady_clock::now() 返回的是一个时间点对象,编译器通过自动类型推导将其分配给 startTime 变量。

计算答题时间的代码

  // 计算答题时间std::chrono::duration<double> elapsedSeconds = endTime - startTime;int elapsedMinutes = static_cast<int>(elapsedSeconds.count() / 60);int elapsedSecondsRemainder = static_cast<int>(elapsedSeconds.count()) % 60;

这段代码用于计算答题时间,并将其分解为分钟和秒。

  1. std::chrono::duration<double> elapsedSeconds = endTime - startTime;
    这一行代码计算 endTimestartTime 之间的时间差,并将结果存储在 elapsedSeconds 变量中。elapsedSeconds 是一个 std::chrono::duration 类型的对象,用于表示持续的时间。通过将 endTime 减去 startTime,我们得到了这段时间的持续时间。

注:std::chrono::duration 是 C++ 标准库中用于表示时间持续的类模板。std::chrono::duration 提供了一系列成员函数和运算符,用于对时间持续进行操作和计算。一些常用的成员函数和运算符包括:

  • count():返回持续时间的内部表示值(类型为 Rep)。
  • operator+、operator-:用于对两个持续时间进行加法和减法运算。
  • operator*、operator/:用于将持续时间乘以或除以一个标量值。
  • operator==、operator!=、operator<、operator>:用于比较两个持续时间的大小关系。
  1. int elapsedMinutes = static_cast<int>(elapsedSeconds.count() / 60);
    这一行代码将持续时间转换为以分钟为单位的整数值。elapsedSeconds.count() 返回持续时间的秒数,除以 60 可以得到分钟数。使用 static_cast<int> 进行强制类型转换,将浮点数结果转换为整数。

注:static_cast 是 C++ 中的一种类型转换操作符,用于进行静态类型转换(static_cast)。

静态类型转换是一种在编译时进行的类型转换,它允许将一个类型转换为另一个相关类型,前提是这两个类型之间存在某种类型转换的关系。

static_cast 可以用于以下几种转换:

  • 隐式类型转换:static_cast 可以将一种算术类型转换为另一种算术类型,如将 int 转换为 double、将 float 转换为 int 等。

  • 类层次转换:static_cast 可以在类层次结构中进行向上转型(upcast)和向下转型(downcast),但在向下转型时需要注意安全性,因为 static_cast 不提供运行时类型检查。如果向下转型是不安全的,应该使用 dynamic_cast 进行动态类型转换。

  • 指针类型转换:static_cast 可以在指针类型之间进行转换,包括将派生类指针转换为基类指针(向上转型)和将基类指针转换为派生类指针(向下转型)。在指针转换时,编译器不会进行运行时类型检查,因此需要确保转换是安全的。

  • 引用类型转换:static_cast 可以在引用类型之间进行转换,类似于指针类型转换。转换时需要注意类型的兼容性和安全性。

  1. int elapsedSecondsRemainder = static_cast<int>(elapsedSeconds.count()) % 60;
    这一行代码计算以秒为单位的剩余时间。elapsedSeconds.count() 返回持续时间的秒数,使用 static_cast<int> 将其转换为整数。然后,通过取模运算符 % 将其对 60 取余,得到不足一分钟的剩余秒数。
http://www.laogonggong.com/news/53229.html

相关文章:

  • 电商网站网络优化及服务的工作任务
  • centos 打开 wordpress网站seo报告
  • 六枝做网站wordpress 意见反馈
  • 图书馆建设网站中国建设银行在哪里
  • 模板网站的域名是什么意思seo是哪个英文的简写
  • 网站页面建设网站没有备案用什么cdn
  • 南平武夷山网站建设全国生猪价格
  • seo营销全景图壹搜网站建设优化排名
  • 德国网站的后缀名长沙大型网站建设
  • 商务网站开发与建设上海十大跨境电商排名
  • 湖南网站建设沧州国外网站建设
  • 内蒙营销型网站建设浙江建设人才网官网
  • 电商网站模板引擎怎么建设
  • 建网站怎么起名字深圳产品型网站建设
  • 网站建设有哪些效益微信如何创建自己的公众号
  • 网站建设的可研设计报告wordpress 登陆插件
  • 哪几个网站做acm题目比较好信息服务平台
  • 有哪些搜索引擎网站西安到北京火车时刻表查询
  • qq空间做网站wordpress显示英文版
  • 哈尔滨专业建网站哪家好企业网站定制收费标准
  • 广西容县建设网站内部劵淘网站怎么做
  • 汶上县住房和城乡规划建设局官方网站市场营销策略概念
  • 赵县住房和城乡建设局网站哔哩哔哩网页版官网在线观看
  • 那些网站企业可以免费展示唯美个人网站欣赏
  • 网站不要了该如何处理新媒体营销课程心得体会
  • 企业为什么做网站素材百度电脑端网页版入口
  • 留学公司网站怎么做山西手机版建站系统哪家好
  • 网站开发就业外部威胁中国网络技术有限公司
  • 站长工具 怎么做网站地图企业网站排名提升软件
  • 为什么要做营销型网站网络公司是什么意思