代码拉取完成,页面将自动刷新
#ifndef _QT_TIMER_H_INCLUDED_
#define _QT_TIMER_H_INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <windows.h>
//for LARGE_INTEGER, QueryPerformanceCounter()
//and QueryPerformanceFrequency()
class Timer
{
private:
LARGE_INTEGER begin_;
LARGE_INTEGER end_;
LARGE_INTEGER counter_;
bool running_;
public:
static unsigned long frequency(void)
{
LARGE_INTEGER frqc;
::QueryPerformanceFrequency(&frqc);
return frqc.LowPart;
}
Timer(void): running_(false)
{
begin_.QuadPart = end_.QuadPart = counter_.QuadPart = 0;
}
void start(void) //开始计时
{
if(running_ == false){
running_ = true;
::QueryPerformanceCounter(&begin_);
}
}
void stop(void) //结束计时
{
if(running_ == true){
::QueryPerformanceCounter(&end_);
running_ = false;
counter_.QuadPart += end_.QuadPart - begin_.QuadPart;
}
}
void reset(void) //清零从新计时
{
begin_.QuadPart = end_.QuadPart = counter_.QuadPart = 0;
running_ = false;
}
double seconds(void) //计算时间
{
LARGE_INTEGER frqc;
::QueryPerformanceFrequency(&frqc);
if(running_ == false)
return counter_.QuadPart / static_cast<double>(frqc.QuadPart);
::QueryPerformanceCounter(&end_);
return counter_.QuadPart + (end_.QuadPart - begin_.QuadPart)
/ static_cast<double>(frqc.QuadPart);
}
bool running(void) const
{
return running_;
}
};//~class Timer
#endif //~ #infdef _QT_TIMER_H_INCLUDED_
//~Timer.h
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。