【C++】头文件chrono

news/2025/2/14 7:00:47/

2023年10月16日,周一晚上

当前我只是简单的了解了一下chrono

以后可能会深入了解chrono并更新文章


目录

  • 功能
  • 原理
  • 头文件chrono中的一些类
  • 头文件chrono中的数据类型
  • 一个简单的示例程序
  • 小实验:证明++a的效率比a++高

功能

这个chrono头文件是用来处理时间的。

原理

chrono头文件通过如下3个概念来完成时间的处理:

1、Durations时间间隔

Durations用来描述时间间隔,比如1分钟、2小时或者10秒钟

2、Time points时间点

Time points是一段时间上的某个点

3、Clocks钟

Clocks用来把time point和现实世界的时间联系起来

我个人任务Clocks的功能是采集现实世界的时间,然后把采集到的时间传递给Time points

在chrono头文件中提供了3个clocks类来描述现实时间的当前时间:system_clock、steady_clock和high_resolution_clock

头文件chrono中的一些类

头文件chrono中的数据类型

一个简单的示例程序

#include <iostream>
#include <chrono>int main() {auto start = std::chrono::high_resolution_clock::now();// 在这里执行你想要测量时间的代码auto end = std::chrono::high_resolution_clock::now();std::chrono::duration<double> duration = end - start;std::cout << "代码执行时间:" << duration.count() << " 秒" << std::endl;return 0;
}

小实验:证明++a的效率比a++高

#include <iostream>
#include <chrono>int main() {int a = 0;auto start = std::chrono::high_resolution_clock::now();for (int i = 0; i < 1000000000; ++i) {++a;}auto end = std::chrono::high_resolution_clock::now();std::chrono::duration<double> duration = end - start;std::cout << "++a 执行时间:" << duration.count() << " 秒" << std::endl;a = 0;start = std::chrono::high_resolution_clock::now();for (int i = 0; i < 1000000000; i++) {a++;}end = std::chrono::high_resolution_clock::now();duration = end - start;std::cout << "a++ 执行时间:" << duration.count() << " 秒" << std::endl;return 0;
}


http://www.ppmy.cn/news/1157456.html

相关文章

iOS代码混淆-从入门到放弃

​ 目录 1. 什么是iOS代码混淆&#xff1f; 2. iOS自动代码混淆的方法是什么&#xff1f; 3. iOS代码混淆的作用是什么&#xff1f; 4. 怎么样才能做到更好的iOS代码混淆&#xff1f; 总结 参考资料 1. 什么是iOS代码混淆&#xff1f; 代码混淆是指将程序中的方法名、属…

某网站获取到正文内容

网址 aHR0cHM6Ly9pdC5zem9ubGluZS5uZXQvc2h1eml6aG9uZ2d1by8yMDIzMDMyOS8yMDIzMDM3ODAzNDAuaHRtbA抓包 猜想&#xff1a;从图中对比发现取第一次请求返回的Set-Cookie作为第二次请求的cookies&#xff0c;不过需要把Set-Cookie中的secret-100&#xff08;此时注意int和str类型…

普通螺纹基本牙型尺寸及拧紧力矩.exe

一、概要 本软件功能主要是通过输入螺纹原始三角形高度P,螺栓规格(公称直径)d,材料的屈服应力σs,计算出公称应力截面积As、外螺纹小径d1、外螺纹小径d2、拧紧力矩T等参数。 开发本软件的原因主要有以下几点: 提高设计效率:通过这款软件,工程师可以快速计算螺纹的基本牙…

47. 全排列 II

给定一个可包含重复数字的序列 nums &#xff0c;按任意顺序 返回所有不重复的全排列。 示例 1&#xff1a; 输入&#xff1a;nums [1,1,2] 输出&#xff1a; [[1,1,2],[1,2,1],[2,1,1]]示例 2&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[1,2,3],[1,3,2]…

在IE浏览器下fixed定位容器随着滚动条出现抖动问题(实测有效)

在ie浏览器下使用fixed定位的容器随着滚动条滚动出现晃动&#xff0c;这种问题比较常见&#xff0c;以下我们给两个解决方案。 方案一 把滑动滚动取消 方案二 在vue组件的created生命周期中添加此代码 document.addEventListener(wheel,function(event) {event.preventDefa…

react闪屏问题以及useEffect和useLayoutEffect的对比使用

二者对比 useEffect()是在渲染被绘制到屏幕之后执行的&#xff0c;是异步的&#xff1b;useLayoutEffect()是在渲染之后但在屏幕更新之前执行的&#xff0c;是同步的。 二者均是等待jsx执行完毕后再执行&#xff0c;但useLayoutEffect()在useEffect()之前触发。 大部分情况下…

ubuntu20 安装 cmake 3.27

1. 下载cmake3.27 建议从cmake官网下载安装&#xff0c;虽然比较慢&#xff0c;但从清华镜像里下载的cmake文件不全。 我下载的是&#xff1a;cmake-3.27.7.tar.gz 博客 ubuntu安装cmake的三种方法&#xff08;超方便&#xff01;&#xff09;-CSDN博客 里面提供了三种方法&am…

什么是人事RPA?人事RPA解决什么问题?人事RPA实施难点在哪里?

每家公司人力资源部门每天需要筛选适合自己公司岗位要求的人才并与之沟通邀约面试、每月全公司员工的考勤状态核对、业绩考核核对、入离职手续办理、新员工培训等等&#xff0c;每项业务流程都由人手操作&#xff0c;效率极低、流程繁琐、费时费力。HR部门每天面对的业务数据量…