c++浅解5之内联函数

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或者简单递归的函数往往是得不偿失的,理论上即是可以内联,但是内联的代价太大,不如不内联.




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值