1.内联函数的定义:
内联函数是编译时将函数体代码和实参代替函数调用语句.
2.内联函数的关键字:inline
举个栗子:
inline int max(int a,int b,int c);
int main(){
int a=10,b=20,m;
m=max(a,b,c);
cout<<"max="<<m<<endl;
return 0;
}
3.内联函数的一些限制:
其一为逻辑要简单,调用频繁的函数建议使用内联
其二理论上递归函数无法使用内联(
因为内联函数本意就是不定义函数,而是在你用的时候展开,因为嵌套,所以不可以展开。
但定义好的内联函数其实好像可以.例如:
inline int func (int n) { if (n == 0) return n; n=func (n-1); return n+1; } int main(void) { int m; m=func (3); cout<<m<<endl; return 0; })
其三编译器决定内联函数是否使用.
4:内联函数的好处:
运行效率高,有条件;
5.内联函数的总结:
其一为不要内联超过10行的函数,需要谨慎对待析构函数,因为析构函数存在隐含的成员和基类析构所调用.
其二为内联那些包含循环或者switch或者简单递归的函数往往是得不偿失的,理论上即是可以内联,但是内联的代价太大,不如不内联.