我可以使用以下方法测量时间:
t1 = system_clock::now();
...
t2 = system_clock::now();
duration<double> d = t2 - t1;
编译没问题,但我该怎么做呢?我想用duration移动一个时间点?
示例(不编译):
system_clock::time_point tp1 = system_clock::now();
system_clock::time_point tp2 = tp1 + duration<double>(1.0);
system_clock::time_point
'+' 运算符似乎不接受 duration<double>
.
如何将时间点移动指定的持续时间(以秒为单位(浮点值))?我需要使用 system_clock
因为它可以转换为 time_t
.
最佳答案
这是你想要的吗?
system_clock::time_point tp1 = system_clock::now();
system_clock::time_point tp2 = tp1 + duration_cast<system_clock::duration>(duration<double>(1.5));
cout << duration_cast<milliseconds>(tp2 - tp1).count();
输出:相差1500ms
关于c++ - std::chrono::system_clock 和 duration<double>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35693959/