C++ chrono:稳定的时钟&x27;确定了哪些代表和期间类型?
由4种成员类型组成:C++ chrono:稳定的时钟&x27;确定了哪些代表和期间类型?,c++,clock,duration,chrono,C++,Clock,Duration,Chrono,由4种成员类型组成:rep、period、duration和timepoint chrono::stable\u clock::duration是一种chrono::duration。 chrono::stable\u clock::period是一个比率 如何确定chrono::staid_clock::duration和chrono::staid_clock::period的类型 比如说, chrono::stable\u clock::duration可以是chrono::duration
rep
、period
、duration
和timepoint
chrono::stable\u clock::duration
是一种chrono::duration
。
chrono::stable\u clock::period
是一个比率
如何确定chrono::staid_clock::duration
和chrono::staid_clock::period
的类型
比如说,
chrono::stable\u clock::duration
可以是chrono::duration
其中period是比率
或
chrono::stable\u clock::duration
可以是chrono::duration
,其中period是比率
标准未规定rep
和period
。每个标准库实现都可以选择自己的实现。如果他们使用的底层计时调用的精度为100ns,那么选择std::ratio
的周期似乎是个好主意
这些类型中有一些必须满足,但基本上取决于实现
duration
始终仅基于rep
和period
<代码>标准::计时::持续时间
chrono::稳定时钟由4种成员类型组成:rep
,
期间
,持续时间
和时间点
chrono::stead_clock::duration
是一个chrono::duration
。
chrono::stable\u clock::period
是一个比率
对
时钟的类型是怎样的
chrono::稳定的时钟::周期
确定了吗
它们在某种程度上是特定于实现的,但在这些类型中确实存在约束和不变量
1.
rep
必须是一种性能良好的算术类型。它必须有一个默认构造函数、复制构造函数、复制赋值,并且它具有非意外的语义,并且不会抛出异常。事实上的标准是所有的稳定时钟::rep
都是有符号整数64位类型
2.
期间
几乎悬而未决。也就是说,VS、libstdc++和libc++都将稳定的时钟::周期
设置为nano
3.
duration
必须与rep
和period
有非常具体的关系:是相同的{}
是正确的类型
。如果您首先指定duration
,然后从中派生rep
和period
,或者从中派生period
,则没有多大关系。但不变量必须保持不变
4.
time\u point
应为std::chrono::time\u point
的实例,持续时间为持续时间。未指定时间点的时钟是什么。无论该时钟是什么类型,它必须与稳定时钟
具有相同的历元。这可以说是一个缺陷,应该有一个约束,即稳定的时钟::时间点::时钟
是稳定的时钟
。事实上的标准是这个约束是成立的。因此,如果我使用Visual Studio并且我使用#include
,这是否意味着chrono
是由Microsoft实现的?std::chrono::时钟需要有基于签名整数类型的时间点/持续时间,其范围至少为+/-292年。此要求不适用于程序员定义的时钟。