天天看点

内联函数定义及实质总结

一、内联函数的定义:

    1、内联函数定义可在函数头前面或者返回值类型后面加上关键字inline。

        如:

               inline int max(int a, int b)

               {

                   return a >= b?a:b;

               }

               int inline max(int a, int b)

               {

                   return a >= b?a:b;

               }

    2、内联函数的定义必须位于使用内联函数的文件内,不然无法达到内联的使用效果。

    3、内联函数不适合为复杂的函数使用,如使用了递归,复杂条件判断语句等等。(代码最好不要超过5、6行)。

二、内联函数实质:

    1、内联的效果和宏替换的效果类似。并且,使用内联可以基本替代宏替换,不同的是宏替换实现是在程序预编译的时候就进行了替换,而内联则是在函数编译的时候进行了代码镶嵌的过程。此外内联函数是一个真正的函数,编译器会对内联函数进行安全检测。

    2、内联函数实际的效果是节省时间,消耗空间。

    3、内联函数可以提高函数使用的效率。但对于大型项目影响不大。

    ^_^