C++ 中inline内联函数

内联函数是C++为了提高程序运行速度所做出的一项改进。

常规函数与内联函数主要区别不在于函数的编写方式,而在于C++编译器如何把他们整合到代码中


优点:在程序编译时,编译器将程序中出现的内联函数的调用用内联函数的函数体进行替代。

inline的原理是用空间换取时间的做法,是以代码膨胀(复制)为代价,省去了函数调用的开销,从而提高函数的执行效率。

缺点:需要占用更多的内存。

例如:如果一个程序在10个不同的位置调用同一个内联函数,则该程序将包含该函数代码的10个副本。


如果执行函数代码的时间处理函数调用机制的时间长,把这个函数作为内联函数,则节省的时间只占整个过程的一小部分,因此,这个函数不适合作为内联函数;如果代码执行的时间很短,把这个函数作为内联函数,则可以节省函数调用机制占用的大部分的时间,但由于这个过程很快,因此尽管节省了该过程的大部分的时间,但节省的时间的绝对值并不大。


与宏定义的区别:宏定义实现的函数不是通过传递参数实现的,而是通过文本替换来实现的,另外宏定义并不进行类型检查。


参考资料:https://blog.csdn.net/cloud323/article/details/68065098

猜你喜欢

转载自blog.csdn.net/weixin_42078760/article/details/80607944