当前位置: 技术问答>linux和unix
哪位兄台能为我解释一下inline函数??
来源: 互联网 发布时间:2015-06-11
本文导语: rt ,什么是inline函数? | inline是C++语言的关键字,某些C语言编译器也将其作为扩展的关键字了。inline是通过增大代码量的方式提高执行速度的一种方式。 | inline函数区别与普通...
rt ,什么是inline函数?
|
inline是C++语言的关键字,某些C语言编译器也将其作为扩展的关键字了。inline是通过增大代码量的方式提高执行速度的一种方式。
|
inline函数区别与普通函数在于调用普通函数时程序有压栈和出栈操作,而inline(内联)函数编译器在预处理的时候会把它的代码加到调用它的函数中,而不用额外的跳转操作,从而提高了程序的效率。
但是inline不允许有switch, 循环等复杂语句。
但是inline不允许有switch, 循环等复杂语句。
|
inline工作方式类似于宏,他是由编译器将原有的函数中的指令代码直接在所在位置展开,而不在采用函数调用方式,这样可以提高操作速度,但相应的增加了代码的数量
该方法可以在提高程序性能的同时,不破坏代码的结构化设计思想
这种方法主要用于那些需要性能,而且代码不大的地方,如过你的函数很大,使用call调用的开销远小于函数本身的开销时,在用inline只是增加内存开销,而对性能没有太大的帮助
该方法可以在提高程序性能的同时,不破坏代码的结构化设计思想
这种方法主要用于那些需要性能,而且代码不大的地方,如过你的函数很大,使用call调用的开销远小于函数本身的开销时,在用inline只是增加内存开销,而对性能没有太大的帮助