inline 关键字
作用:向编译器提供建议(因为是否进行内联,取决于编译器,这里用的时建议):将优化该函数的调用,这里直接将整个代码嵌入到调用点,可以减少函数调用的开销,提高程序的运行效率。
内联函数与普通函数不同:内联函数在链接时,并不是全局可见,只在当前的cpp文件中可见,inline函数并未编译独立的函数汇编码,无法进行链接,因此不可以在其他文件中进行引用。
普通函数的调用时,
程序会保存现场
1、将当前函数中的局部变量、函数地址压入堆栈
2、将调用的新的函数加载到内存中
这要经历复制参数值、跳转到所调用函数的内存位置、执行函数代码、存储函数返回值等过程