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行以下的代码建议用内联函数能极大节省时间,更多的话会增多系统所要执行的代码块。

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

猜你喜欢

转载自blog.csdn.net/Mr_Feng07007/article/details/79547465