【问题标题】:How to assign a value to a declared std::chrono::duration which has no value?如何为没有值的已声明 std::chrono::duration 赋值?
【发布时间】:2017-10-09 08:13:35
【问题描述】:

如何做相当于:

int n;
n = 1;

std::chrono::duration?

【问题讨论】:

    标签: c++ duration chrono


    【解决方案1】:

    我不建议使用原始的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 值并且它是标准类型
    • 尽量减少程序中未初始化的值

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-20
      • 1970-01-01
      • 2018-10-11
      • 1970-01-01
      • 1970-01-01
      • 2018-02-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多