C++编译器可以将一个函数进行内联编译;
被C++编译器内联编译的函数叫做内联函数;
内联函数在最终生成的代码中是没有定义的;
C++编译器直接将函数体插入函数调用的地方;
内联函数没有普通函数调用时的额外开销(压栈,跳转,返回)
#include <iostream>
using namespace std;
inline int Max(int a,int b)
{
return a>b?a:b;
}
int main()
{
int a = Max(1,4);
cout << "a : " << a << endl;
cout << "---end---" << endl;
return 0;
}
C++中内联编译的限制
1.不能存在任何形式的循环语句;
2.不能存在过多的条件判断语句;
3.函数体不能过于庞大;
4.不能对函数进行取址操作;(内敛编译后,内联函数将不存在)
5.函数内联声明必须在调用语句之前。