【问题标题】:Compare measured time difference with float将测量的时间差与浮点数进行比较
【发布时间】:2018-08-28 22:22:57
【问题描述】:

我有一些代码,我想在 C++ 中测量时间差。一段时间后,保存在一个浮点变量中,我想开始一些东西。 有没有办法将持续时间转换为浮点数或与浮点值进行比较?

这里有一些代码:

float maxDiff = 5;
auto start = std::chrono::high_resolution_clock::now();
//do something
auto finish = std::chrono::high_resolution_clock::now();
std::chrono::duration<double> elapsed = finish - start;
if(elapsed>=maxDiff
{//do something else}

【问题讨论】:

标签: c++ time compare measure


【解决方案1】:

以下代码有效:

float maxDiff = 5;
auto start = std::chrono::high_resolution_clock::now();
//do something
auto finish = std::chrono::high_resolution_clock::now();
std::chrono::duration<float> elapsed = finish - start;
if (elapsed.count() > maxDiff)
{
}

请注意,您可能希望使用std::chrono::steady_clock,因为high_resolution_clock 可能不稳定(您可以通过调用is_steady 进行检查)并且steady_clock 通常对于大多数用途来说足够高,并且可以防止更改系统时钟。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-19
    • 2021-05-28
    • 2017-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-29
    相关资源
    最近更新 更多