c++时间度量辅助类

2014-11-24 12:43:48 · 作者: · 浏览: 0

#ifndef __TIME_MEASURE_H

#define __TIME_MEASURE_H

#include

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:

timeva l tv_;

};

#endif

#include "time_measure.h"

time_measure::time_measure(){

gettimeofday(&tv_,0);

}

long int time_measure::time_range(){

timeva l 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"<

}

};

int main(){

time_measure t;

my_application& my_app = my_application_singleton_holder::Instance();

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

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

any_cast >(a)->print();

cout<<"time is:"<

}

摘自:sheismylife专栏