chrono 库中的 Clock 和 TrivialClock 概念

The Clock and TrivialClock concepts in the chrono library

std::chrono 库部分依赖于 Clock and a TrivialClock 的概念。我通过了标准,但我仍然不确定一些事情:

References/quotes欢迎标准。

  • Is the only difference between Clock and TrivialClock, the fact that now may throw for a Clock, but does not for a TrivialClock?

没有。 TrivialClock的成员类型也有更多的要求。带有 const int 作为其 rep 的时钟不是 TrivialClock,而是 Clock

  • Is clock::duration required to be the same as clock::time_point::duration?

是的。两个可能的实例化是std::time_point<clock>,它有来自默认参数的clock::duration;或 std::time_point<other_clock, clock::duration>,其中明确包含它。

  • Is now required to be a static function member, or not?

据我所知不是,但人们可能会认为是。所需要的只是 clock::now() 是一个有效的表达式,returns a clock::time_point。它可以是一个静态函子。