std::chrono::
duration_cast
公众成员函数 <chrono>
template <class ToDuration, class Rep, class Period>
constexpr ToDuration duration_cast (const duration<Rep,Period>& dtn);
|
持续时间转换
将dtn的值转换为其他持续时间类型,并考虑其时间单位的差异。
该函数不使用隐式转换。相反,所有计数器值都在内部转换为最精确的表示(内部计数类型的common_type),
然后转换为目标类型,所有转换都使用static_cast显式地完成。
如果目标类型的精度较低,则该值将损失精度。
☲ 参数
-
dtn
-
持续时间对象。
☉ 返回值
dtn的值转换为目标持续时间类型的对象。
目标持续时间类型应该是duration的一个实例化。。
☣ 示例
// duration_cast
#include <iostream> // std::cout
#include <chrono> // std::chrono::seconds, std::chrono::milliseconds
// std::chrono::duration_cast
int main ()
{
std::chrono::seconds s (1); // 1 second
std::chrono::milliseconds ms = std::chrono::duration_cast<std::chrono::milliseconds> (s);
ms += std::chrono::milliseconds(2500); // 2500 millisecond
s = std::chrono::duration_cast<std::chrono::seconds> (ms); // truncated
std::cout << "ms: " << ms.count() << std::endl;
std::cout << "s: " << s.count() << std::endl;
return 0;
}
|
输出:
ms: 3500
s: 3
🍄 另请参阅
duration::duration |
构建持续时间对象 (公共成员函数) |