C++语言程序设计

| 例5-13

#include <iostream.h>
int increment(int i);
inline increment(int i)
{
i++;
return i;
}
void main()
{
int i=0;
while(i<3)
{
i=increment(i);
cout<<"i is "<<i<<endl;
}
}
这段程序的输出结果为：
i is 1
i is 2
i is 3

如果我们修改一下程序，将内联函数的定义移到main()之后：

| 例5-14

#include <iostream.h>
int increment(int i);
void main()
{
int i=0;
while(i<3)
{
i=increment(i);
cout<<"i is "<<i<<endl;
}
}
//内联函数定义放在main()函数之后
inline int increment(int i)
{
i++;
return i;
}

内联函数在调用之后才定义，这段程序在编译的时候编译器不会直接把它替换到main中。也就是说实际上"increment(int i)"只是作为一个普通函数被调用，并不具有内联函数的性质，无法提高运行效率。