1.内联函数的定义
使用·函数·有利于代码重用,可以提高开发效率,增强程序的可靠性,也便于分工合作,便于修改维护。但是,函数调用也会降低程序的执行效率,增加时间和空间方面的开销。因此,对于一些功能简单,规模较小又使用频繁的函数,可以设计为内联函数。内联函数不是在调用时发生的控制转移,而是在编译时将函数体嵌入在每一个调用处,这样就可以节省了参数传递,控制转移等开销。
2.内联函数的语法
inline 类型说明符 函数名(含类型说明的形参表)
{
语句序列
}
inline void setAge(int age1)
{
age = age1;
}/*age仅仅是赋值操作,所以这个函数很简单,
建议使用inline内联函数来提
高代码的效率,如果不加inline的话
其实有的编译器也会自动把这个
很简单的函数看成是一
个内联函数,但是还是建议加上inline关键字。*/
3.使用内联函数的注意事项
需要注意的是,inline关键字只是表示一个要求,编译器并不是说加了inline关键字的函数就一定是一个内联函数,在现代编译器里,没有用inline修饰的函数也可能被编译成内联函数,这里的内联函数应该是比较简单的函数,结构简单,语句少,而且调用频繁,如果将一个复杂的函数定义为内联函数,反而会造成代码膨胀,增大开销,这种情况下,多数编译器都会自动将其转换成普通函数来处理,到底什么样的函数会被认为是太符杂的函数呢?不同编译器处理和判断起来是不同的,但是,自身的直接递归调用是肯定无法以内联的形式处理的。