C++ 中的计时器

在Java中,有时候会要测试程序的性能,所以会采用System.currentTimeMillis()等类库函数去测试时间开销。

在C++中同样可以完成此功能。

头文件:

#include<ctime>

示例程序:

 1 #include<iostream>
 2 #include<ctime>
 3 using namespace std;
 4 const int N =10000000;
 5 int main(){
 6     clock_t now = clock();
 7     for(int i = 0 ; i< N ; ++i){
 8         ;
 9     }
10     cout<<clock() - now<<endl;
11 return 0;
12 }

这段程序输出了循环N次计算机需要的时间。

clock_t 类型是ctime的内置类型,因为在有的机器上clock()函数返回的有可能是long,也有可能是unsigned long,所以采用了一个新类型clock_t来实现这个类型的自动变换。

clock()函数返回的是一个系统时间,一般可以把它想象成毫秒。

而在ctime头文件中还有一个预定义宏,他就是CLOCKS_PER_SEC,这个宏就表示了“毫秒”和秒之间的倍数关系:

1、CLOCKS_PER_SEC / clock() == 秒

2、秒 * CLOCKS_PER_SEC == 毫秒

根据这个,我们可以实现另一个程序,就是通过while循环,让程序延时一段时间。

示例代码:

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<ctime>
 4 using namespace std;
 5 
 6 
 7 int main(){
 8     int delay;
 9     cout<<"输入要延时的时间(秒):"<<flush;
10     cin>>delay;
11     delay *= CLOCKS_PER_SEC;
12     clock_t now = clock();
13     while(clock() - now < delay)
14         ;
15     cout<<"延时完毕"<<endl;
16 return 0;
17 }

这样一个简单的程序就完成了一个很有意思的任务。。。

转载于:https://www.cnblogs.com/dqsBK/p/5345883.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值