C++程序运算时间计算

一般在稍大一些项目中,总会想要得到某段代码的运行时间,C++中有内置函数可以实现该目的,也可以借助其他一些常用库。

方法一

函数:clock()
用法:

#include <ctime> //需包含该头文件,或者包含<time.h>
const clock_t begin_time = clock( );
.......此处为需要统计运行时间的代码
float seconds = float(clock( ) - begin_time) / 1000//此处1000指的是每秒为1000个时钟周期,所以要想得到以秒为单位的时间,需要除以1000.

函数理解:
1. typedef long clock_t
2. clock_t clock(void)
返回从“开启这个程序进程”到“程序中调用clock()函数”时
之间的CPU时钟计时单元(clock tick)数,此时就要注意在调试程序时暂停的时间也要算入进去
3. CLOCKS_PER_SEC
用来表示一秒钟会有多少个时钟计时单元,其定义如下:
#define CLOCKS_PER_SEC ((clock_t)1000)
4. 局限性:最小精度1毫秒
小技巧:如果计算时间较长,想要把时间换算成一共运算了多少天多少时多少分多少秒的形式,可以灵活运用求余运算符%:
这里写图片描述
注意: clock()函数返回程序目前为止运行的时间,所以,如果在程序结束之前调用此函数,便可获得整个程序的运行时间(此时间是从程序开始运行时就开始计时的)。这个时间除以常数CLOCKS_PER_SEC之后得到的值以“秒”为单位。此时还要注意,如果程序中涉及到从键盘读入数据,那么等待键盘操作这部分时间也会算在程序运行时间之中。

方法二

使用Boost库中的timer

#include <boost/timer.hpp>
timer t_ogm;//创建timer对象
......
some handle steps
......
float time_cost = t_ogm.elapsed();//返回处理处理时间,秒
(1) 测试日期类成员函数,在主函数中列出菜单选项,可以完成日期的加减比较等测试功能。 (2) 完善程序功能,在日期相加的菜单选项中增加日期加天数,结果为新日期;日期家月份,结果为新日期,要考虑闰年情况。 (3) 完善程序功能,在日期相减的菜单选项中增加日期减天数,结果为新日期;日期减月份,结果为新日期,要考虑闰年情况。 (4) 显示日期时增加显示星期及英文形式的月份的功能。 (5) 增加输入的甄别功能,即输入非法数据(如负数、日期超过31天、时间超过24小时等情况)的识别显示功能。 (1) 仿照日期类编写时间类CTime_t,可以完成时间的设置、运算、比较等功能。 (2) 增加时间的输入功能,既可以选择输入格式,可以输入hh:mm:ss格式的信息。 (3) 增加时间的输出格式,可以输出12小时的时间格式。 (4) 编写时间和日期的派生类CDati,完成日期与时间的联合设置、运算、比较等功能,要求该派生类可以完成:日期时间加天数或时间等于新的日期时间,日期时间减天数或等于新的日期时间,两个日期时间相减等于天数或时间等工作,在程序中考虑闰年等具体情况,并重载各种运算符。 (5) 增加输入的甄别功能,即输入非法数据,即输入非法数据(如负数、日期超过31天、时间超过24小时等情况)的识别显示功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值