c++内联函数

编译过程的最终产品是可执行程序——由一组机器语言指令组成。运行程序时,操作系统将这些指令载入计算机内存,每条指令有特定内存地址。

常规函数调用:

执行到函数调用指令时,程序将函数调用后立即存储在该指令的地址,并将函数参数复制到堆栈,跳到标记函数起点的内存单元,执行函数代码,然后在跳回到地址被保存的的指令处。

内联函数:

内联函数的编译代码和其他程序代码“内联”起来了,也就是说编译器将使用相应的函数代码替换函数调用。对于内联代码,程序无需跳到另一个位置执行代码,再跳回来。因此内联函数运行速度比常规函数快,但代价时内存占用更多。如果程序在10个不同的地方调用同一个内联函数,则该程序将创建10个函数代码副本。

在函数定义和声明前加上inline  内联函数不能递归

 

左值: 左值参数是可被引用的数据对象,非左值包括字面常量和包含多项的表达式

posted @ 2021-07-29 17:38  白米a  阅读(42)  评论(0)    收藏  举报