内联函数inline

inline int max( int , int ,int ); //声明

inline int max( int a, int b, int c) //定义

{

if( b > a) a = b;

if( c > a) a = c;

return a;

}

!!!注意:可以在声明函数和定义函数的同时写inline,也可以只在函数声明时加inline,而定义函数时不加inline。只要在调用该函数之前把inline的信息告知编译系统,编译系统就会在处理函数调用时按内联函数处理。

        使用内联函数总结:①、只将规模很小(一般5个语句一下)而使用频繁的函数声明为内联函数。在函数规模很小的情况下,函数调用的时间开销可能相当于甚至超过执行函数本身的时间,把它定义为内联函数,可大大减少程序运行时间,过多的使用内联函数会浪费内存空间。

②、内联函数不能包括复杂的控制语句,如循环语句和switch语句。

③、对函数做inline声明,知识程序员对编译系统的一种建议,编译系统不一定必须将其内联,它会视情况而定,如果前面提到的包括循环语句和switch语句(switch语句判断表达式的值只能是整型),是无法进行代码置换的,又如一个1000行的函数,也不大可能在调用点展开,此时编译系统就会忽略inline声明,而按普通函数处理。

④、归纳总结:只有那些规模很小而又被频繁调用的简单函数,才适合于声明为inline函数

猜你喜欢

转载自blog.csdn.net/u010248077/article/details/80713056