boost的timer计时器类源码——简单、干脆

C++计时器类实现
本文介绍了一个简单的C++计时器类实现,该类使用标准库中的clock函数来记录程序运行的时间。通过构造函数初始化开始时间,并提供了重启计时、获取已用时间和最大可能时间等功能。
class timer
{
public:
	timer() { _start_time = std::clock(); } // postcondition: elapsed()==0
	//         timer( const timer& src );      // post: elapsed()==src.elapsed()
	//        ~timer(){}
	//  timer& operator=( const timer& src );  // post: elapsed()==src.elapsed()
	void   restart() { _start_time = std::clock(); } // post: elapsed()==0
	double elapsed() const                  // return elapsed time in seconds
	{ return  double(std::clock() - _start_time) / CLOCKS_PER_SEC; }

	double elapsed_max() const   // return estimated maximum value for elapsed()
		// Portability warning: elapsed_max() may return too high a value on systems
		// where std::clock_t overflows or resets at surprising values.
	{
		return (double((std::numeric_limits<std::clock_t>::max)())
			- double(_start_time)) / double(CLOCKS_PER_SEC); 
	}

	double elapsed_min() const            // return minimum value for elapsed()
	{ return double(1)/double(CLOCKS_PER_SEC); }

private:
	std::clock_t _start_time;
}; // timer

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值