c++的chrono总结用法

2024-03-10 22:12
文章标签 c++ 总结 用法 chrono

本文主要是介绍c++的chrono总结用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

C++11引入了<chrono>头文件,提供了处理时间的功能。以下是<chrono>头文件中一些常用的类和函数的总结用法:

  1. std::chrono::duration

    • 用于表示时间段的类模板。
    • 可以指定不同的时间单位(如秒、毫秒、微秒等)。
    • 例如:std::chrono::duration<int, std::ratio<1, 1000>> 表示毫秒的时间段。
  2. std::chrono::time_point

    • 用于表示特定时刻的类模板。
    • 结合std::chrono::system_clock等时钟类使用。
    • 例如:std::chrono::time_point<std::chrono::system_clock> 表示系统时钟的时间点。
  3. 时间单位

    • std::chrono::seconds:秒
    • std::chrono::milliseconds:毫秒
    • std::chrono::microseconds:微秒
    • std::chrono::nanoseconds:纳秒
  4. 时钟类型

    • std::chrono::system_clock:系统时钟,表示自UTC时间起的时间点。
    • std::chrono::steady_clock:稳定时钟,用于测量时间间隔。
    • std::chrono::high_resolution_clock:高精度时钟。
  5. std::chrono::duration_cast

    • 用于将不同时间单位的duration相互转换。
    • 例如:std::chrono::duration_cast<std::chrono::seconds>(duration) 将一个时间段转换为秒。
  6. std::chrono::time_point_cast

    • 用于将不同时钟类型的time_point相互转换。
    • 例如:std::chrono::time_point_cast<std::chrono::milliseconds>(timepoint) 将一个时间点转换为毫秒。
  7. 获取当前时间

    • std::chrono::system_clock::now():获取当前时间点。
    • std::chrono::steady_clock::now():获取当前稳定时钟时间点。
  8. 计算时间间隔

    • 可以通过相减两个time_point得到一个duration,表示时间间隔。
auto start = std::chrono::steady_clock::now();
// 运行代码或等待一段时间
auto end = std::chrono::steady_clock::now();auto duration = end - start;
std::cout << "Time taken: " << std::chrono::duration_cast<std::chrono::milliseconds>(duration).count() << " milliseconds\n";

这些是<chrono>头文件中一些常用的类和函数,可用于处理时间相关的操作。希望对你有帮助!

这篇关于c++的chrono总结用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/795685

相关文章

C++中unordered_set哈希集合的实现

《C++中unordered_set哈希集合的实现》std::unordered_set是C++标准库中的无序关联容器,基于哈希表实现,具有元素唯一性和无序性特点,本文就来详细的介绍一下unorder... 目录一、概述二、头文件与命名空间三、常用方法与示例1. 构造与析构2. 迭代器与遍历3. 容量相关4

C++中悬垂引用(Dangling Reference) 的实现

《C++中悬垂引用(DanglingReference)的实现》C++中的悬垂引用指引用绑定的对象被销毁后引用仍存在的情况,会导致访问无效内存,下面就来详细的介绍一下产生的原因以及如何避免,感兴趣... 目录悬垂引用的产生原因1. 引用绑定到局部变量,变量超出作用域后销毁2. 引用绑定到动态分配的对象,对象

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

Java8 Collectors.toMap() 的两种用法

《Java8Collectors.toMap()的两种用法》Collectors.toMap():JDK8中提供,用于将Stream流转换为Map,本文给大家介绍Java8Collector... 目录一、简单介绍用法1:根据某一属性,对对象的实例或属性做映射用法2:根据某一属性,对对象集合进行去重二、Du

Python中isinstance()函数原理解释及详细用法示例

《Python中isinstance()函数原理解释及详细用法示例》isinstance()是Python内置的一个非常有用的函数,用于检查一个对象是否属于指定的类型或类型元组中的某一个类型,它是Py... 目录python中isinstance()函数原理解释及详细用法指南一、isinstance()函数

Python中的sort方法、sorted函数与lambda表达式及用法详解

《Python中的sort方法、sorted函数与lambda表达式及用法详解》文章对比了Python中list.sort()与sorted()函数的区别,指出sort()原地排序返回None,sor... 目录1. sort()方法1.1 sort()方法1.2 基本语法和参数A. reverse参数B.

vue监听属性watch的用法及使用场景详解

《vue监听属性watch的用法及使用场景详解》watch是vue中常用的监听器,它主要用于侦听数据的变化,在数据发生变化的时候执行一些操作,:本文主要介绍vue监听属性watch的用法及使用场景... 目录1. 监听属性 watch2. 常规用法3. 监听对象和route变化4. 使用场景附Watch 的

Java Instrumentation从概念到基本用法详解

《JavaInstrumentation从概念到基本用法详解》JavaInstrumentation是java.lang.instrument包提供的API,允许开发者在类被JVM加载时对其进行修改... 目录一、什么是 Java Instrumentation主要用途二、核心概念1. Java Agent