C++11:将 time_point 递增一秒
C++11: increment time_point by one second
如果我有
std::chrono::steady_clock::time_point t1 = std::chrono::steady_clock::now();
变量,我如何定义另一个 time_point 变量 t2
使其准确表示 t1
之后 一秒 的时间点?
类似于 auto t2 = t1 + "1s"
。我应该用什么替换“1s”?
如果您使用的是 C++14(VS-2015,或 -std=c++14
与 gcc 或 clang),则:
using namespace std::chrono_literals;
auto t2 = t1 + 1s;
如果您使用的是 C++11:
using namespace std::chrono;
auto t2 = t1 + seconds{1};
如果不想复制,而是给t1
本身加1秒,+=
也可以:
t1 += 1s;
t1 += seconds{1};
如果我有
std::chrono::steady_clock::time_point t1 = std::chrono::steady_clock::now();
变量,我如何定义另一个 time_point 变量 t2
使其准确表示 t1
之后 一秒 的时间点?
类似于 auto t2 = t1 + "1s"
。我应该用什么替换“1s”?
如果您使用的是 C++14(VS-2015,或 -std=c++14
与 gcc 或 clang),则:
using namespace std::chrono_literals;
auto t2 = t1 + 1s;
如果您使用的是 C++11:
using namespace std::chrono;
auto t2 = t1 + seconds{1};
如果不想复制,而是给t1
本身加1秒,+=
也可以:
t1 += 1s;
t1 += seconds{1};