假设我按以下时间安排任务:
auto t1 = std::chrono::high_resolution_clock::now();
// ...do work here...
auto t2 = std::chrono::high_resolution_clock::now();
经过的时间是:
auto elapsed = t2 - t1;
duration
使用,以及如何
正确地
如果我这样做:
std::cout << "count=" << elapsed.count() << std::endl;
……然后我好像得到了纳秒。但如果我这样做:
const double secs = std::chrono::duration<double>(elapsed).count();
std::cout << "count=" << secs << std::endl;
虽然这段代码适用于我正在使用的编译器,但我担心,因为我没有在转换持续时间期间指定所需的单位,所以我所做的是特定于实现的,并且可能无法在不同的编译器中按预期工作。是否有更好或更明确的方法将持续时间转换为“秒”(包括小数部分)?