内联函数:
在程序编译时,编译器将程序中出现的内联函数的调用表达式用内联函数体来进行替换。显然,这种做法不会产生转去转回的问题,但是由于在编译时将函数体中的代码被替代到程序中,因此会增加目标程序代码量,进而增加空间开销,而在时间开销上不像函数调用时那么大。可见他是以目标代码的增加来换取时间的节省。
注意点:
1、类内定义的函数是内联函数,类外定义的函数是非内联函数(段函数可以定义在类内,长函数可以定义在类外)
2、可以为类外定义的函数制定inline关键字,强行为内联函数
3、在内联函数中不允许用循环语句和开关(switch)语句
4、内联函数的定义必须出现在内联函数第一次调用之前
5、内联函数内不能有静态数据
6、内联函数内不能有数组
综上,如果定义的内联函数出现以上情况,则内联函数就会被当做普通函数来处理。