内联函数
内联函数的主要特征是,在函数的返回类型前加上“inline”,这个关键字。它的出现就是在建议编译器,在使用这个函数时,不需要进行常规的操作了,可以直接将该函数内部的函数体复制、替换到每一处调用该函数的地方,进而可以小幅降低系统开销。但是这个建议,编译器是可以根据条件决定是否执行。
优点:
内联函数的最大优势,就是可以对一些“短小且频繁调用的函数”使用。
缺点:
在一些情况下,容易导致代码膨胀。
有一些场景不适用内联函数,如:
1、函数体过大,逻辑复杂;
2、有递归函数的情况;
3、有虚函数、复杂指针;
以上这3种场景,不要使用内联函数。
#include <iostream>
using namespace std;
inlinevoid Func(int a,int b) // 函数声明
int main()
{
Func(10, 20) ;
}
inlinevoid Func(int a,int b) // 函数定义
{
cout << a + b ;
}
输出:30
上面这个代码实例,我将函数的声明和定义分开处理,我们看到在分开处理时,函数都是带有inline关键字的,这是在日常编码时容易疏忽的,所以一定注意。