如何找到下面的表达式的真实类型。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; }
...
}
寻找一个类似于以下的语句 这个:
typedef duration<long long, micro> microseconds;
在这种情况下,第一个模板参数(long long
)绑定到类型 _Rep
在 duration
模板。