gpt4 book ai didi

c++ - 您应该使用 duration_cast<>() 还是不测量两个 chronos::time_points 之间的差异?

转载 作者:行者123 更新时间:2023-11-28 02:09:07 24 4
gpt4 key购买 nike

我找不到关于以下哪段代码正确的明确答案:

目的是每隔“val”毫秒在循环中执行一些代码。正如我之前所了解的,您可以将持续时间替换为您想要的任何单位(秒、纳米等)。但是,您是否需要使用 duration_cast 才能使其准确工作?

1)

auto m_intervalFrameCounting = std::chronos::milliseconds(val);

auto now = high_resolution_clock::now();
auto diff = now - m_lastTimeFramesCounted;
if (diff > m_intervalFrameCounting) {
m_lastTimeFramesCounted = high_resolution_clock::now();
//do something
}

或:2)

auto m_intervalFrameCounting = std::chronos::milliseconds(val);

auto now = high_resolution_clock::now();
auto diff = now - m_lastTimeFramesCounted;
if (std::chronos::duration_cast<milliseconds>(diff) > m_intervalFrameCounting) {
m_lastTimeFramesCounted = high_resolution_clock::now();
//do something
}

最佳答案

duration_cast 用于将持续时间转换为会使其失去精度的类型。例如,毫秒到秒。虽然秒到毫秒是隐式允许的。 #2 方法没有理由,您希望它达到什么目的? #1 是您所追求的。

关于c++ - 您应该使用 duration_cast<>() 还是不测量两个 chronos::time_points 之间的差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36410130/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com