chrono 库中的 Clock 和 TrivialClock 概念
The Clock and TrivialClock concepts in the chrono library
std::chrono
库部分依赖于 Clock and a TrivialClock 的概念。我通过了标准,但我仍然不确定一些事情:
- 是
Clock
和 TrivialClock
之间的唯一区别,now
可能会抛出 Clock
,但不会抛出 TrivialClock
?
clock::duration
是否需要和clock::time_point::duration?
一样
now
是否需要成为静态函数成员?
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
。它可以是一个静态函子。
std::chrono
库部分依赖于 Clock and a TrivialClock 的概念。我通过了标准,但我仍然不确定一些事情:
- 是
Clock
和TrivialClock
之间的唯一区别,now
可能会抛出Clock
,但不会抛出TrivialClock
? clock::duration
是否需要和clock::time_point::duration?
一样
now
是否需要成为静态函数成员?
References/quotes欢迎标准。
- Is the only difference between
Clock
andTrivialClock
, the fact that now may throw for aClock
, but does not for aTrivialClock
?
没有。 TrivialClock
的成员类型也有更多的要求。带有 const int
作为其 rep
的时钟不是 TrivialClock
,而是 Clock
。
- Is
clock::duration
required to be the same asclock::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
。它可以是一个静态函子。