怎样建设淘客网站app开发流程
news/
2025/9/23 4:19:50/
文章来源:
怎样建设淘客网站,app开发流程,wordpress邮件函数,最新的新闻 最新消息chrono是C11中新加入的时间日期操作库#xff0c;可以方便地进行时间日期操作#xff0c;主要包含了#xff1a;duration, time_point, clock。 时钟与时间点
chrono中用time_point模板类表示时间点#xff0c;其支持基本算术操作#xff1b;不同时钟clock分别返回其对应…chrono是C11中新加入的时间日期操作库可以方便地进行时间日期操作主要包含了duration, time_point, clock。 时钟与时间点
chrono中用time_point模板类表示时间点其支持基本算术操作不同时钟clock分别返回其对应类型的时间点。
clock 时钟是从一个时点开始按照某个刻度的计数chrono同时提供了三种时钟通过now()获取当前时间点 system_clock系统时钟相对epoch1970-01-01 00:00:00UTC的时间间隔 steady_clock单调时钟只能增长后一次调用now()得到的时间总是比前一次的值大一般是相对于系统启动时间的时间间隔 high_resolution_clock高精度时钟当前系统能提供的最高精度时钟很可能就是steady_clock也是单调的
需要得到绝对时点的场景使用system_clock需要得到时间间隔且不受系统时间修改而受影响时使用steady_clock。 时间显示
在C20中直接有to_stream直接输出system_clock时钟但在此之前只能通过间接的方式来输出
auto tNow system_clock::now();
auto tmNow system_clock::to_time_t(tNow);
auto locNow std::localtime(tmNow);
coutstd::put_time(locNow, %Y-%m-%d %H:%M:%S)endl; // 2019-12-20 19:35:12system_clock::from_time_t(...)可以把time_t类型时间转换为time_point便于chrono使用。
运行计时
通过steady_clock/high_resolution_clock可方便的进行计时
public:explicit XRunTime{bool bStart){if(bStart) Restart();}void Restart(){m_tpStart high_resolution_clock::now();}double Stop(){return operator()();}double operator()(void){auto tpEnd high_resolution_clock::now();auto elap tpEnd - m_tpStart;return (double)elap.count() / std::nano::den; //返回运行的秒数如1.00345}
}
时间间隔duration
chrono中使用duration模板类来表示时间间隔并定义了从小时到纳秒的时间间隔。
duration模板
duration使用一个数值表示时钟数和分数ratio来表示具体间隔。支持基本的算术运算并通过count()获取具体的时钟数。
templatetypename _Rep, typename _Period ratio1
struct duration
{typedef _Rep rep;constexpr _Rep count() const{return (_MyRep);}...
private:_Rep _MyRep; //时钟计数
};
基准是秒并依次定义了常用的间隔如
typedef durationlong long seconds;
typedef durationlong long, milli milliseconds;
typedef durationlong long, ratio3600 hours;不同的时间间隔可以直接进行算术运算如休眠需要毫秒参数我们可以封装接收秒与毫秒的接口
void MySleep(int nSec, int nMillSec){std::chrono::seconds secs(nSec);std::chrono::milliseconds mills(nMillSec);std::this_thread::sleep_for(secsmills);
}duration_cast
使用duration_cast可以方便的在不同时间单位间进行转换如
auto secseconds(123);
auto minuduration_castminutes(sec);
coutsec.count(),minu.count()endl; // 123,2ratio ratio是一个分数模板类第一个参数为分子第二个参数为分母通过静态成员可获取 num分子 den分母
typedef ratio1, 1000 milli;
typedef ratio1000, 1 kilo;
coutmilli::denendl; // 1000
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/911337.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!