内联函数 inline

一.什么是内联函数?

        内联函数是一种编程语言特性,用于告诉编译器在调用函数时直接嵌入到调用处,而不需要通过函数调用的方式执行。

        内联函数通常用于函数体比较短小、频繁调用的情况。这样可以减少函数调用过程中产生的额外开销。如栈帧的创建和销毁、参数传递等操作,从而提高程序的执行速度。

        要声明一个内联函数,通常需要在函数定义前加上 inline 关键字。但是,编译器是否真正将函数体内联展开,会根据一些优化策略进行判断。

注意:如果函数体过于复杂,或者包含递归、循环等操作,就不适合作为内联函数。并且在某些情况下,编译器会忽略内联函数的声明,将其作为普通函数。

二. inline 内联函数与普通函数的区别

1. inline 内联函数在编译过程中,就没有函数的调用开销了,在函数的调用点就直接把函数的代码进行展开处理了。

2. inline 函数不再生成相应的函数符号

3. inline 只是建议编译器把这个函数处理成内联函数,但不是所有的  inline  都会被编译器处理成内联函数

4. debug 版本上,inline 是不起作用的; inline  只有在 release 版本下才能出现 

你可能感兴趣的:(C++,c++)