chrono学习笔记
来源:互联网 发布:期货数据网 编辑:程序博客网 时间:2024/05/22 17:17
chrono 是一个头文件名,同时也是一个子命名空间:所有在这个头文件中的内容(除了 common_type 模板特化以外)都不是直接定义在std命名空间中(像大部分标准库中内容一样),而是被定义在 std::chrono 命名空间中.
这个头文件中的元素处理有关时间的内容,这些内容主要包括三个概念:
- 时期
- 它们是时间段的量度,比如:一分钟,两小时,或是十微秒.
- 在这个库中,它们表现为duration模板类的对象,这与一个数量和一个计量单位挂钩(例如,十微秒的数量是10,而单位是微秒).
- 时间点
- 对一个特定时间点的引用,比如,一个人的生日,今天的黄昏,或下一班火车到达的时刻.
- 在这个库中,模板类time_point的对象使用关系到一个epoch(一个在所有使用同一时钟的time_point对象中共享的时间点)的duration对象提供这一关系.
- 时钟
- 一个涉及将时间点转换为物理时间的框架.
- 这个库提供了至少三个将当前时间解释为time_point的工具:system_clock,steady_clock和high_resolution_clock.
duration
template <typename Rep, typename Period = ratio<1> >class duration;
一个duration对象提供由一个计数器(count)和一个时间单位(period)组成的时间段.
在实现中,此对象使用成员类型rep(它第一个模板参数Rep的别名)存储这一计数器(count),它可以通过成员函数count来读取.
这一计数器通过时间单位(period)来表示.单位时间的长度在编译时通过duration的第二个模板参数(Period)被集成到这一类型中,这里Period是一个分数(ratio),它以分数形式表示了每一个单位时间内流逝的秒数.
模板参数
- Rep
- 一个算术类型,或是一个模拟算术类型的类,它被用作count的类型.
- Period
- 一个分数(以ratio模板的实例化表示),它给出了每个时间单位(period)的长度.
模板实例
下列被定义(typedef)的duration模板实例也在这一命名空间(std::chrono)中:
ratio<3600,1>
minutes 至少29位的有符号整数 ratio<60,1>
seconds 至少35位的有符号整数 ratio<1,1>
milliseconds 至少45位的有符号整数 ratio<1,1000>
microseconds 至少55位的有符号整数 ratio<1,1000000>
(1,000,000) nanoseconds 至少64位的有符号整数 ratio<1,1000000000>
(1,000,000,000)成员类型
下列别名是duration
的成员类型.它们被广泛用作成员函数参数和返回值的类型:
函数
成员函数:
静态成员函数:
非成员函数:
(未完待续)
文中如有翻译错误,欢迎批评指正,谢谢.
原文链接:http://www.cplusplus.com/reference/chrono.
0 0
- chrono学习笔记
- [cpp]C++11学习笔记-chrono
- chrono
- Chrono
- <chrono> <TCLAP>与<CImg>
- std::理解chrono
- C++ <chrono> 时间库
- c++ chrono 时间程序库
- chrono 日期时间库
- C++11 chrono入门
- std::chrono::duration详解
- c++标准库-chrono
- c++11 Chrono时间库
- C++11标准库chrono
- std::chrono时间处理类
- C++11的时间库 chrono
- C++11 std::chrono库详解
- Rust: chrono库,date,time及其它
- TrieTree字典树
- 腾讯校招编程题——算法基础-字符移位
- 【机器学习 基本概念】泊松分布与指数分布
- SQLServer安装完成但失败,数据库引擎,server复制等安装失败的解决办法
- 【步骤】lwip-2.0.2在STM32F103RC+ENC28J60网卡上无操作系统移植(不使用STM32库函数)
- chrono学习笔记
- javascript的类型转换
- bzoj4216: Pig
- L1-039. 古风排版
- 51单片机的中断系统
- 初识Meteor
- 异或今日头条笔试
- HBase学习-表的增删改插
- 【机器学习 基本概念】高斯分布