简洁版:项目工程中,可直接调用下列time.h文件
ElapsedTimer(bool do_start = false)
m_start_point = std::chrono::high_resolution_clock::now();
uint64_t get_elapsed_ms()
auto now = std::chrono::high_resolution_clock::now();
return std::chrono::duration_cast<std::chrono::milliseconds>(now-m_start_point).count();
uint64_t get_elapsed_us()
auto now = std::chrono::high_resolution_clock::now();
return std::chrono::duration_cast<std::chrono::microseconds>(now-m_start_point).count();
std::chrono::time_point<std::chrono::high_resolution_clock> m_start_point;
解析版:
#include <chrono> //chrono是c++ 11中的时间库,提供计时,时钟等功能
ElapsedTimer(bool do_start = false)
m_start_point = std::chrono::high_resolution_clock::now(); //高精度时钟类std::chrono::high_resolution_clock
uint64_t get_elapsed_ms()
auto now = std::chrono::high_resolution_clock::now(); //要获取某时钟类的当前时刻,调用静态成员函数now()
return std::chrono::duration_cast<std::chrono::milliseconds>(now-m_start_point).count(); //ms;
//std::chrono::duration_cast<std::chrono::milliseconds>(end - begin).count(); 成员函数count()返回单位时间的数量
uint64_t get_elapsed_us()
auto now = std::chrono::high_resolution_clock::now();
return std::chrono::duration_cast<std::chrono::microseconds>(now-m_start_point).count(); //us
std::chrono::time_point<std::chrono::high_resolution_clock> m_start_point;