代码之家  ›  专栏  ›  技术社区  ›  Greg

如何为没有值的已声明std::chrono::duration赋值?

  •  2
  • Greg  · 技术社区  · 7 年前

    如何执行以下等效操作:

    int n;
    n = 1;
    

    具有 std::chrono::duration ?

    1 回复  |  直到 7 年前
        1
  •  4
  •   Daniel Trugman    7 年前

    我不建议使用生的 duration 类型而是使用特定的持续时间,如 seconds , nanoseconds

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

    虽然,如果你坚持,你可以使用自己的专业 期间 类型:

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

    我建议:

    • 纳秒 当您不确定需要什么分辨率时,因为它可以包含任何其他标准 chrono::duration 值,并且它是标准类型
    • 最小化程序中未初始化的值