C++之内联函数(inline)

1.怎样使用内联函数
内联函数其实很简单, 其目的是为了提高函数的执行效率,用关键字 inline 放在函数定义,这样,就变成了一个内联函数。
例如函数:
int max(int a, int b)
{
 return a > b ? a : b;
}

这个函数相信每个人都看得出来,就是一个最大值函数。然后,将它前面加一个inline就变成了内联函数。如下:

inline int max(int a, int b)
{
 return a > b ? a : b;
}

2.内联函数的优点
还是用上面的max函数来说明,系统运行到main()中的 普通的max函数时,将会进行一系列的复杂行动,比如说先开辟出一块空间给函数然后进入函数区等等。这其中都要花费一些时间。然而内联函数呢?
它在执行到main()中的inline max 函数时,它会直接将max函数 在编译时展开为: cout<<(a > b ? a : b)<<endl;
这样它就避免了进出函数等所花费的时间,因为调用函数比求解等价表达式要慢得多
3.内联函数的缺点
当然时空效率的问题,时间减少了,那么所用空间就会增加,这是不可避免的。因为它会增多系统所要执行的代码,它不像普通函数全都进入函数执行代码,而是就地编译成函数代码。
4.内联函数的使用建议
因为它能在一定程度下减少时间,但大了的话又会太费空间。所以,在此建议10行或者10行以下的代码建议用内联函数能极大节省时间,更多的话会增多系统所要执行的代码块。

初学者,写的不好,如有建议或什么地方错误请各位大神指点!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值