了解内联函数,首先要知道c++函数调用过程
function
a(
调用funb()
)
在这个调用过程里,首先a会保留自身的状态,之后再去寻找 b的内存地址,准确地说,是在调用b的时候,新开辟出的内存,将b的字节码装载到这个内存区域,a在调用完b之后,b这个内存地址里的数据就会清空,之后,再回到a之前保存的状态继续执行
所以,为了减少这种耗时的操作,c++使用了内联函数,内联函数基本上是:函数+代码 的结合体
因为内联函数实际上就是调用者本身的一段代码,所以不会有保留本身状态再去其他内存执行之后再返回等等一系列耗时的操作。
但是,如果仅仅是为了减少时间,那么根本不需要内联函数,直接在调用者内部写代码就行,不过,有些地方是需要反复操作的,那么代码经常写,就比较麻烦,于是这些代码就需要被调用
所以,同时具有减少耗时操作的代码块和能够被调用这些特性的内联函数就出现了
因为内联函数实际上是调用者内部的代码,所以不会释放内存,于是就增加了内存开销