【问题标题】:How to get std::chrono::time_point clock type如何获取 std::chrono::time_point 时钟类型
【发布时间】:2023-04-07 02:32:01
【问题描述】:

我有一个带有 std::chrono::time_point 成员的类。在其中一个类函数中,我想创建另一个具有相同时钟类型的 time_point。

我如何从我的会员那里获取时钟类型?

我试过了:

std::chrono::time_point<std::chrono::system_clock> m_time_point;
std::chrono::time_point<m_time_point.clock> new_tp(some_duration)

但这会导致 错误:不能用'.'引用'std::chrono::time_point'中的类型成员'clock'

【问题讨论】:

    标签: c++


    【解决方案1】:

    std::chrono::time_point 是一个模板,而不是一个类型。所以你不能有这种类型的成员,它必须用某种类型的时钟来实例化。假设您拥有它,并且您的成员名称是 m_time_point,那么获取时钟是微不足道的:

    using clock_t = decltype(m_time_point)::clock;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多