标<chrono>头定义steady_clock了表示单调时钟的类 - 即,now()永远不会随着物理时间的增加而减少。虽然这个类没有被标记为可选,所以如果实现不能实现它,因为它运行在一个没有单调时间源的系统上,会发生什么?
看一下libstdc++源码,在_GLIBCXX_USE_CLOCK_MONOTONIC没有被定义的情况下,steady_clock简单定义为:
typedef system_clock steady_clock;
system_clock虽然不一定是稳定的,所以这可能(并且可能会)打破steady_clock.
在没有单调时间源的系统上是否不可能实现 C++11 的一致实现?为什么steady_clock不像类型一样选择可选intX_t?