inline 内联函数 的作用

首先确认inline应该是一个修饰符

C中引入内联函数的目的:可以减少一些频繁调用的子函数对栈空间的消耗,如果函数可以内联,则直接在调用点就可以将函数展开,这样就省去了类似于保存现场并跳转这样的栈消耗

inline 标识符 仅仅是对编译器的一个建议,是否内联,则实际由编译器决定,如果编译器认为函数能在调用点展开,就会真正内联,并不是标识了inline内联,就会一定内联。

 inline 内联函数只适合函数体内调用简单的代码,这个简答的代码不能包括结构控制语句,比如while,switch,并且内联函数本身不能是递归函数

如果编译器在函数调用点 能够将子函数展开,则编译器必须随时都能访问到这个子函数的定义,因此最好将内联函数的  定义     放在头文件中,方便编译器随时调用。


参考博文: https://blog.csdn.net/lufeiop02/article/details/6526499

猜你喜欢

转载自blog.csdn.net/Behold1942/article/details/80507644