程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> c++時間度量輔助類

c++時間度量輔助類

編輯:C++入門知識

 

#ifndef __TIME_MEASURE_H 

#define __TIME_MEASURE_H 

 

#include <sys/time.h> 

 

class time_measure{ 

 public: 

  /**

   * Get the current time

   */ 

  time_measure(); 

 

  /**

   * Calculate the time range(microseconds,i.e.10e-6 second) 

   * and reset the tv_ to current time

   */ 

  long int time_range(); 

 

 private: 

  timeval tv_; 

}; 

 

 

#endif 

 

 

 

#include "time_measure.h" 

 

time_measure::time_measure(){ 

  gettimeofday(&tv_,0); 

 

 

 

long int time_measure::time_range(){ 

  timeval tv; 

  gettimeofday(&tv,0); 

  long int diff = (tv.tv_sec-tv_.tv_sec)*1000000+(tv.tv_usec-tv_.tv_usec); 

  gettimeofday(&tv_,0); 

  return diff; 

 

調用代碼很簡單:

 

class test{ 

public: 

  void print(){ 

    cout<<"print OK"<<endl; 

  } 

}; 

int main(){ 

  time_measure t; 

  my_application& my_app = my_application_singleton_holder::Instance(); 

  my_app.insert_property("test",shared_ptr<test>(new test)); 

  any a = my_app.get_property("test"); 

  any_cast<shared_ptr<test> >(a)->print(); 

  cout<<"time is:"<<t.time_range()<<" microseconds"<<endl; 

摘自:sheismylife專欄

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved