在说明内联函数之前,我们需要先简单介绍一下函数的执行过程。
我们写的代码最终会被编译成可执行程序,这些程序是机器可以识别的机器语言,然后当我们运行程序时,这些代码被加载到内存当中。
一般在调用函数时,函数调用后立即存储该指令的内存地址,并把函数的参数拷贝到堆栈空间,然后程序跳转到该函数起点的内存单元,执行函数代码,将返回值放入寄存器中,然后跳回到刚才的保存的指令地址处。就好比我们开古文的时候,有时需要看一眼注解,理解一下继续读文章,函数调用的过程与之类似,在这指令之间的跳转过程中就会产生一定的开销。
而我们今天的主角内敛函数呢,在程序编译阶段,需要调用该函数的地方,全部用该函数做了替代,就不同像常规函数一样跳转了,代码走到这直接执行,但这带来的弊端就是增大了内存开销。
那我们什么时候需要使用到内敛函数呢?
如果你的函数代码执行时间非常短,那么就可以使用,这样可以减少函数跳转使用的时间。
在具体使用的过程中,我们只需要增加inline关键字就好了。
给一个简单的例子:
#include <iostream>
using namespace std;
inline double square(double x) {return x * x;}
int main()
{
cout<<square(5.0)<<endl;
system("pause");
return 0;
}