c++11 计时器

来源:互联网 发布:百度云和阿里云服务器 编辑:程序博客网 时间:2024/06/05 03:58
#pragma once#include<chrono>using namespace std;using namespace std::chrono;class Timer{public:Timer() : m_begin(high_resolution_clock::now()) {}void reset() { m_begin = high_resolution_clock::now(); }//默认输出毫秒int64_t elapsed() const{return duration_cast<chrono::milliseconds>(high_resolution_clock::now() - m_begin).count();}//默认输出秒double elapsed_second() const{return duration_cast<duration<double>>(high_resolution_clock::now() - m_begin).count();}//微秒int64_t elapsed_micro() const{return duration_cast<chrono::microseconds>(high_resolution_clock::now() - m_begin).count();}//纳秒int64_t elapsed_nano() const{return duration_cast<chrono::nanoseconds>(high_resolution_clock::now() - m_begin).count();}////秒//int64_t elapsed_seconds() const//{//return duration_cast<chrono::seconds>(high_resolution_clock::now() - m_begin).count();//}//分int64_t elapsed_minutes() const{return duration_cast<chrono::minutes>(high_resolution_clock::now() - m_begin).count();}//时int64_t elapsed_hours() const{return duration_cast<chrono::hours>(high_resolution_clock::now() - m_begin).count();}private:time_point<high_resolution_clock> m_begin;};

Timer t;hello();std::cout << t.elapsed_micro() << std::endl;

1 0