内联函数形式:
inline int funcA(int a, int b) {//函数定义前加inline,为内联函数
return 1;
}
内联函数的特点:
1.inline影响编译器,在编译阶段对内联函数进行处理,系统尝试将调用函数的动作替换为函数本体。从而提高性能;
2.inline只是对编译器的一种建议,编译器可做可不做,这取决于编译器的诊断功能;
3.普通函数的声明要写在头文件,定义要写在源文件。而内联函数的定义要写在头文件。因为其他调用这个内联函数的文件需要把函数本体include进来从而完成对函数调用的替换。
4.内联函数存在代码膨胀的问题,所以函数体要尽量小。
5.不同编译器对于内联函数的处理不同,尽量不要在循环、分支、递归中使用内联函数,这可能导致编译器拒绝做出内联函数的处理。