初学C++,有一个程序中的地方不太理解,请教大家。

来源:百度知道 编辑:UC知道 时间:2024/07/07 08:39:02
//==================================
// f0605.cpp
// 内联性能测试
//==================================
#include<iostream>
#include<time>
using namespace std;
//----------------------------------
int calc1(int a, int b){
return a+b;
}//---------------------------------
inline int calc2(int a, int b){
return a+b;
}//---------------------------------
int main(){
int x[1000], y[1000], z[1000];
clock_t t = clock();
for(int i=0; i<1000; ++i)
for(int j=0; j<1000; ++j)
for(int k=0; k<1000; ++k)
z[i] = calc1(x[j], y[k]);
cout <<"Not using inline: " <<(clock()-t)/CLK_TCK <<" seconds\n";

t = clock();
for(int i=0; i<1000; ++i)
for(int j=0; j<1000; ++j)
for(int k=0; k<1000; ++k)
z[i] = calc2(x[j], y[k]);
cout <<" Using inline: " <<(clock

clock()是time里的一个函数,返回值是当前系统时间.

了解了这个函数的返回值再来这个程序,是不是觉得很简单?
先记录下循环开始时间,再执行嵌套循环(一共执行1000*1000*1000次),再记录下结束时间

用开始时间减去结束时间就是测试结果.