产生的原因:如果频繁调用方法则会频繁的出入栈,如果过多这种操作比如递归很可能造成栈枯竭
内联函数类似于将函数的代码放入调用体内从而避免函数的出入栈操作,以此保证栈内存足够
定义方式 需要在函数定义的地方 前方加入inline 关键字
如
inline void Foo(int x, inty){//需要于函数定义体放在一起
}
内联的限制
inline只能用于简单函数的使用,不能包含复杂的控制结构如while 、switch等并且内联函数本身不能是直接递归函数(自己内部调用自己的函数)
内联造成了代码膨胀