inline内联函数
为什么要有内联函数,即内联函数的作用
内联函数是为了避免调用函数的开销。
内联函数不是在调用时发生转移,而是在编译时将函数体嵌入到每个内联函数调用处。
类似于宏定义,如宏定义:
#define ExpressionName(Var1,Var2) ((Var1)+(Var2))*((Var1)-(Var2))
但是宏定义并不能进行参数有效性的检查等。
所以,可以这么理解,内联函数是宏定义的扩展,消除了宏定义不能进行参数有效性检查等缺点。
或者这么理解,编译时,内联函数在调用处展开,以目标代码的增加为代价换取时间上的节省。