如何为声明的std :: chrono :: duration分配一个没有值的值?

时间:2017-10-09 08:13:36

标签: c++ duration chrono

如何做相当于:

int n;
n = 1;

使用std::chrono::duration

1 个答案:

答案 0 :(得分:3)

我不建议使用原始duration类型。而是使用特定的持续时间,例如secondsnanoseconds

std::chrono::nanoseconds ns;
ns = std::chrono::nanoseconds { 10 };

虽然,如果你坚持,你可以使用自己专门的duration类型:

std::chrono::duration<uint64_t, std::ratio<1, 1>> diff;
diff = std::chrono::seconds { 3 };
-- OR --
diff = std::chrono::duration<uint64_t, std::ratio<1, 1>> { 3 };

我建议:

  • 如果您不确定需要什么样的分辨率,请使用nanoseconds,因为它可以包含任何其他标准chrono::duration值并且它是标准类型
  • 尽量减少程序中未初始化的值