c++ - 课外计时器

标签 c++ timer

我有以下代码,我想创建一个封装计时器的类,但我遇到的问题是在声明类后使用计时器。我发布了另一个代码块来展示我想如何使用计时器的示例。

double diffclock(clock_t clock1,clock_t clock2)
{
    double diffticks=clock1-clock2;
    double diffms=(diffticks*1000)/CLOCKS_PER_SEC;
    return diffms;
}
void some_function()
{   
    clock_t begin = clock();

    //do something
    clock_t end=clock();
    cout << "Time elapsed: " << double(diffclock(end,begin)) << " ms"<< endl;

}

这是头文件

#ifndef SPECIALCLOCK_H
#define SPECIALCLOCK_H
#include <ctime>

class specialclock
{
    private:

    public:

    specialclock(){}
    ~specialclock(){}
    double diffclock(clock_t clock1,clock_t clock2);
};
double specialclock::diffclock(clock_t clock1,clock_t clock2)
{
    double diffticks=clock1-clock2;
    double diffms=(diffticks*1000)/CLOCKS_PER_SEC;
    return diffms;
}
#endif

这是主文件

#include "specialclock.h"

int main()
{

   specialclock timer;

//how would I use the timer here?

   return 0;
}

最佳答案

在您的特殊时钟类的构造函数中,将时钟的当前值存储到一个成员变量中。

在你的特殊时钟类的析构函数中,再次查询时钟的当前值,从当前值中减去你的成员变量的值,并打印出结果。

然后你可以在任何函数/方法的顶部声明一个特殊的时钟项,它会自动打印出函数/方法运行了多长时间。

关于c++ - 课外计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6590778/

相关文章:

c++ - 串行监视器不显示来自设置或主程序的代码 - 波特率 9600

c++ - 使用 C++ 对象 Q_PROPERTY 绑定(bind)复选框 'checked' 属性

c++ - 在调试中断期间释放资源(C++、MSVC)

python - 受计时器影响的多处理

c++覆盖文件数据?

c++ - 在 QML 中接收 C++ 信号

c++ - C++中字符数组的意外输出

Javascript - 如何使用不在同一范围内的 onClick 事件监听器清除回调内的 setInterval

javascript - JavaScript 定时器倒计时

javascript - 为什么Javascript警报音频会不断重放?