gpt4 book ai didi

c++ - chrono::steady_clock 代表和周期类型是如何确定的?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:14:16 26 4
gpt4 key购买 nike

chrono::steady_clock 由4种成员类型组成:rep , period , duration , 和 timepoint .

chrono::steady_clock::durationchrono::duration<rep,period> . chrono::steady_clock::periodratio .

chrono::steady_clock::duration的类型如何?和 chrono::steady_clock::period确定了吗?

例如,

chrono::steady_clock::duration可能是 chrono::duration<int,period>其中期间是 ratio<1,1000>

chrono::steady_clock::duration可能是 chrono::duration<double,period>其中期间是 ratio<1,1000000> .

最佳答案

chrono::steady_clock consists of 4 member types: rep, period, duration, and timepoint.

chrono::stead_clock::duration is a chrono::duration<rep,period>. chrono::steady_clock::period is a ratio.

是的。

How are the types of chrono::stead_clock::duration and chrono::steady_clock::period determined?

它们在某种程度上是特定于实现的,但这些类型之间确实存在约束和不变量。

1. rep必须是一个表现良好的类算术类型。它必须有一个默认构造函数、复制构造函数、复制赋值,并且它具有不足为奇的语义,并且不会抛出异常。事实上的标准是所有steady_clock::rep是带符号的整数 64 位类型。

2. period几乎悬而未决。也就是说,VS、libstdc++ 和 libc++ 都有 steady_clock::period设置为 nano .

3. duration必须与 rep 有非常具体的关系和 period : is_same<duration, chrono::duration<rep, period>>{}true_type .如果指定 duration 并不重要首先导出repperiod从那开始,反之亦然。但不变量必须成立。

4. time_point应是 std::chrono::time_point 的实例持续时间为 duration .未指定 time_point 是什么的时钟是。不管那个时钟是什么类型,它必须具有与 steady_clock 相同的纪元。 .这可以说是一个缺陷,应该有 steady_clock::time_point::clock 的约束。是steady_clock .事实上的标准是这个约束成立。

关于c++ - chrono::steady_clock 代表和周期类型是如何确定的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33224124/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com