c++11 计时器
2015-12-11 11:12
507 查看
#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;
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Mootools 1.2教程 定时器和哈希简介
- C#定时器和随机数
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- C#中timer定时器用法实例
- C++联合体转换成C#结构的实现方法
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析
- C/C++数据对齐详细解析
- C++基于栈实现铁轨问题
- C++中引用的使用总结
- 使用Lua来扩展C++程序的方法
- C++中调用Lua函数实例
- Lua和C++的通信流程代码实例