内联函数,引用 基础知识总结
内联函数
1.首先,什么是内联函数?
常规函数和内联函数的区别在于:编译器如何使用它。
①:常规函数.执行到该处时,计算机跳到另一个地址(函数定义的地址)执行函数,然后返回结果,结束后回到原地址继续执行。
②:内联函数:执行到该处时,计算机会将内联函数的代码复制到此处,并执行。何谓“内联”?将函数代码和其他程序代码连接起来。
2.内联函数的优势和劣势。
优势:内联函数的运行速度比常规函数快,因为省去了调用时间,因此注意:什么时候使用内联函数?当调用时间>执行时间时。我们可以使用内联,这也就限制了内联的使用:不能是太过复杂的函数
劣势:会占用更多的内存。
3.如何使用内联函数?
必须:
●在声明前加:inline
●在定义前加:inline
因为内联函数一般很短,所以可以在声明是对函数定义。例如:
inline double square(double x) {return x+2}
4.注意事项:
内联的指令并不是命令,而是建议。也就是说,编译器可以不遵寻指令。事实也是如此,当编译器认为,该函数过于复杂时,不会执行内联,而是将它当做常规函数执行。比如:递归函数。
5.内联和宏:
inline属于c++新增的特性。在c语言