C++——有关chrono库的duration

操作结果
duration dDefault 构造函数;建立一个 duration(default-initialized)
duration d(d2)Copy 构造函数;复制一个 duration(d2可能拥有不同的单位类型)
duration d(val)以 d 的单位类型建立一个 duration,拥有 val tick
d = d2将 duration d2 赋值给 d (可存在隐式转换)
d.count()返回 duration d 的 tick 数量
duration_cast<D>(d)返回的是 “duration d 显式转换为类型 D” 的结果
duration::zero()获得长度为0的 duration
duration::max()获得此类型之最大可能的 duration
duration::min()获得些类型之最小可能的 duration
duration::rep获得 tick 的数量
duration::period获得单位类型(unit type)的类型

测试程序

#include <iostream>
#include <chrono>

using std::cout;
using std::endl;
int main(){
    typedef std::chrono::duration<int> seconds_type;
    typedef std::chrono::duration<int, std::milli> milliseconds_type;
    typedef std::chrono::duration<int, std::ratio<60 * 60>> hours_type;

    hours_type h_oneday(24);                  // 24h
    seconds_type s_oneday(60 * 60 * 24);          // 86400s
    milliseconds_type ms_oneday(s_oneday);    // 86400000ms

    seconds_type s_onehour(60 * 60);            // 3600s
    //hours_type h_onehour (s_onehour);          // NOT VALID (type truncates), use:
    hours_type h_onehour(std::chrono::duration_cast<hours_type>(s_onehour));
    milliseconds_type ms_onehour(s_onehour);  // 3600000ms (ok, no type truncation)

    cout << ms_onehour.count() << "ms in 1h" << endl;

    return 0;
}

输出结果:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值