c++较小时间统计代码
时间: 2024-10-10 15:12:24 浏览: 24
在C++中,如果你想要编写一个小巧的时间统计代码,你可以使用`chrono`库来测量程序执行的时间。下面是一个简单的示例,展示如何使用`chrono::high_resolution_clock`来计算函数的执行时间:
```cpp
#include <iostream>
#include <chrono>
// 定义一个计时器函数模板
template<typename Func>
auto measure_time(Func func) {
auto start = std::chrono::high_resolution_clock::now();
func(); // 调用你要测量的函数
auto end = std::chrono::high_resolution_clock::now();
return std::chrono::duration_cast<std::chrono::microseconds>(end - start);
}
int main() {
// 测量某个函数的执行时间,比如计算一个数列的和
auto sum = [](){
int result = 0;
for(int i=0; i<1000000; ++i)
result += i;
return result;
};
auto time_taken = measure_time(sum);
double microseconds = static_cast<double>(time_taken.count());
std::cout << "Function took: " << microseconds << " microseconds" << std::endl;
return 0;
}
```
这个例子中,我们定义了一个模板函数`measure_time`,它接受一个函数作为参数,然后记录开始和结束时间,最后返回两个时间点之间的时间差(以微秒为单位)。在`main`函数里,我们调用这个模板函数并打印出函数执行的时间。
阅读全文