如何找出`duration_cast<microseconds>(starter_clock::now().time_since_epoch()).count()`的真实类型?

问题描述 投票:0回答:1

如何找到下面的表达式的真实类型。std::chrono::duration_cast<std::chrono::microseconds>(std::chrono::steady_clock::now().time_since_epoch()).count();

我发现答案是 long int 通过 typeid().name() .

当我浏览相关源码时,发现类型应该是 _Rep.

我想知道如何通过阅读源码知道确切的返回类型。

/// duration
template<typename _Rep, typename _Period>
struct duration
{
    typedef _Rep                        rep;
    typedef _Period                     period;
...
    // 20.11.5.2 observer
    constexpr rep
    count() const
    { return __r; }
...
}
c++ chrono
1个回答
4
投票

寻找一个类似于以下的语句 这个:

typedef duration<long long,        micro> microseconds;

在这种情况下,第一个模板参数(long long)绑定到类型 _Repduration 模板。

© www.soinside.com 2019 - 2024. All rights reserved.