std::chrono::duration::count函数的实际结果类型是什么

What is the actual result type of std::chrono::duration::count function

本文关键字:结果 是什么 类型 函数 chrono duration count std      更新时间:2023-10-16

在以下情况下,std::chrono::duration::count函数的实际结果类型是什么:

std::chrono::duration_cast<std::chrono::milliseconds>(end - begin).count();

它看起来像是某种rep类型,但实际上是什么?我需要知道确切的类型才能将其传递给其他一些语言。例如,我可以将其转换为long long吗?

类型为std::chrono::milliseconds::rep。您可以使用打印类型的函数来检查此类型。例如:

#include "type_name.h"
#include <chrono>
#include <iostream>
int
main()
{
std::cout << type_name<std::chrono::milliseconds::rep>() << 'n';
}

对我来说(可能对你来说也是(,这个输出:

long long

从单据,count返回来自template<class Rep, class Period = std::ratio<1>> class duration;rep类型

此外,

std::chrono::milliseconds   duration</*signed integer type of at least 45 bits*/, std::milli>

因此,它是具体实施的。