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};