【发布时间】:2016-02-10 16:52:52
【问题描述】:
我一直在为 Android 平台制作的应用程序中使用 std::chrono::steady_clock 进行间隔计算。
代码:
// On application start
auto timeSinceEpoch = std::chrono::steady_clock::now().time_since_epoch();
auto timeInSec = std::chrono::duration_cast<seconds>(timeSinceEpoch).count();
log("On Enter Start Time Point - %lld", timeInSec);
输出:
On Enter Start Time Point - 521
现在我关闭手机并重新启动手机。我运行我的应用程序,这次输出是:
On Enter Start Time Point - 114
根据 cppreference.com 的定义
“std::chrono::steady_clock 类表示一个单调时钟。这个时钟的时间点不能随着物理时间的推移而减少。”
当我重启手机时输出值如何?
如果有人遇到过这个问题,请在这里帮助我。谢谢!!
【问题讨论】:
-
保证是针对
steady_clock类型的特定对象 - 它永远不会降低其价值。您正在比较该类型的两个不同实例。 -
感谢您的回复。所以基本上 stable_clock 的时代是系统启动对吗?