内联函数

内联函数的主要特征是,在函数的返回类型前加上“inline”,这个关键字。它的出现就是在建议编译器,在使用这个函数时,不需要进行常规的操作了,可以直接将该函数内部的函数体复制、替换到每一处调用该函数的地方,进而可以小幅降低系统开销。但是这个建议,编译器是可以根据条件决定是否执行。

优点:

内联函数的最大优势,就是可以对一些“短小且频繁调用的函数”使用。

缺点:

在一些情况下,容易导致代码膨胀。

有一些场景不适用内联函数,如:

1、函数体过大,逻辑复杂;

2、有递归函数的情况;

3、有虚函数、复杂指针;

以上这3种场景,不要使用内联函数。

 

#include <iostream>

using namespace std;

inline void Func(int a,int b) // 函数声明

int main()

{

        Func(10, 20) ;

}

inline void Func(int a,int b) // 函数定义

{

        cout << a + b  ;

}

输出:30

上面这个代码实例,我将函数的声明和定义分开处理,我们看到在分开处理时,函数都是带有inline关键字的,这是在日常编码时容易疏忽的,所以一定注意。

 

更多推荐