53、C++ 中数值、时间和复杂数据处理之时间相关操作详解(上)

C++ 中数值、时间和复杂数据处理之时间相关操作详解(上)

在程序开发中,我们经常需要处理数值、时间和复杂数据。本文将重点介绍 C++ 中与时间相关的操作,包括时间间隔(duration)、时钟(clock)和时间点(time point)等内容。

1. ratio 模板类型的作用

ratio 模板类型的主要目的是在编译时方便地定义有理数。它并非用于在编译时进行大量计算,而是通过模板参数值来定义有理数,这样在编译时执行必要的算术运算有助于避免溢出问题。

2. 时间相关概念及 chrono 头文件

在程序中,我们常常需要处理时间间隔,比如游戏程序中可能需要测量执行性能。时间测量不仅涉及软件,底层硬件提供了时钟和间隔计时功能,而 STL 通过操作系统为我们提供了与硬件的接口。

chrono 头文件定义了与时间间隔、时间点和时钟相关的类和类模板。所有这些名称都定义在 std::chrono 命名空间中。时间间隔、时间点和时钟之间的关系如下:
- 持续时间(Duration) :是一个由时间刻度(tick)数量定义的时间间隔,你可以指定一个刻度代表的秒数。默认情况下,一个刻度代表一秒,但你也可以将其定义为秒的倍数或分数。例如,若将一个刻度定义为 3600 秒,那么持续时间为 10 就表示 10 小时;若定义为十分之一秒,持续时间为 10 则表示 1 秒。
- 时钟(Clock) :记录从一个给定的固定时刻(称为纪元,epoch)开始的时间流逝。有三种封装硬件时钟的类类型,后续会详细介绍。时间以刻度为单位进行测量,因此一个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值