内联函数是C ++的重要特性之一。那么,让我们首先了解为什么使用内联函数,以及内联函数的目的是什么?
当程序执行函数调用指令时,CPU将存储该函数调用之后的指令的内存地址,将函数的参数复制到堆栈上,最后将控制权转移到指定的函数。然后,CPU执行功能代码,将功能返回值存储在预定义的存储位置/寄存器中,并将控制权返回给调用函数。如果函数的执行时间少于从调用者函数到被调用函数(被调用者)的切换时间,则这可能会成为开销。
对于大型函数和/或执行复杂任务的函数,与函数运行所花费的时间相比,函数调用的开销通常是微不足道的。但是,对于小型的常用功能,进行函数调用所需的时间通常比实际执行函数代码所需的时间多得多。对于小型功能,会发生这种开销,因为小型功能的执行时间小于切换时间。
C ++提供了一个内联函数,以减少函数调用的开销。内联函数是在调用时在行中扩展的函数。调用内联函数时,将在内联函数调用时插入或替换内联函数的整个代码。此替换由C ++编译器在编译时执行。如果内联函数很小,则可以提高效率。
定义函数内联的语法为:
内联返回类型函数名称(参数){
//功能代码
}
请记住,内联只是对编译器的请求,而不是命令。编译器可以忽略内联请求。在以下情况下