C++:内联函数

内联函数

一般函数调用速度较慢。对于短小和使用频繁的函数,需要加快调用的速度,C语言使用带参数的宏,C++可以使用内联函数(inline function)。比如:

   1 int max( int x, int y) {
   2      return x>y? x : y;
   3 }
   4 int arraymax(int array[], int n) {
   5     int m = INT_MIN;
   6     for(int i = 0; i < n; i++) {
   7         m = max(m, array[i]);    // m = ( m > array[i]?m:array[i]);
   8     }
   9     return m;
  10 }

其中,max函数被反复调用,需要改进它的效率。在C语言中可以用宏:

   1 #define max(x, y) ((x)>(y)?(x):(y))
   2 

而在C++中还可以用内联函数:

   1 inline int max(int x, int y) {
   2     return x>y?x:y;
   3 }

注意:


CategoryCpp

C++:内联函数 (2008-03-13 21:00:55由czk编辑)