首页 > 程序开发 > 综合编程 > 其他综合 >

C++内联函数

2017-04-19

C++内联函数:C++引入内联函数函数的原因是用它来取代C中的预处理宏函数。内联函数和宏函数的区别:宏函数是由预处理器对宏进行替换,而内联函数是通过编译器实现的。

C++内联函数:C++引入内联函数函数的原因是用它来取代C中的预处理宏函数。内联函数和宏函数的区别:宏函数是由预处理器对宏进行替换,而内联函数是通过编译器实现的,因此内联函数是真正的函数,只是在调用的时候,内联函数像宏函数一样展开,所以它没有一般函数的参数压栈和退栈操作,减少了调用开销,因此,内联函数比普通函数执行效率更高。

在C++中使用关键字inline来定义内联函数。inline关键字放在函数定义(声明)中函数类型之前。

注:编译器会将在类的说明部分定义的任何函数都认定为内联函数,即使它们没有用inline说明。内联函数也有一定的局限性,就是函数中执行的代码不能怠惰,结构也不能太复杂。如果内联函数的函数体过大,编译器会放弃内联方式,而采用普通的方式调用函数。

内联函数示例:

#include
using namespace std;
inline int max(int,int);
int main(){
    cout<y?x:y;
}
关键字inline将函数max说明成内联函数。其使用方式和一般函数一样,只不过在程序执行时并不产生实际函数调用,而是在函数调用处将函数代码展开执行。
相关文章
最新文章
热点推荐