比较测量的时差与浮点数

时间:2018-03-20 07:29:39

标签: c++ time compare measure

我有一些代码,我想测量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}

1 个答案:

答案 0 :(得分:0)

以下代码有效:

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通常足够高分辨率目的并防止系统时钟发生变化的问题。