样例代码(最好放在Linux的g++编译环境运行):
#include<iostream>
#include<time.h>
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];
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], x[k]);
}
}
}
}
我们先后改变红框中调用的函数,先调calc1再调calc2
calc1是普通函数,calc2是内嵌函数,然后对比运行结果
很明显对于大项目,有inline运行的快些
而对于小项目,有inline还可能拖慢速度,如图,