C++ 内联函数


C++ 内联函数是通常与类一起使用。如果一个函数是内联的,那么在编译时,编译器会把该函数的代码副本放置在每个调用该函数的地方。

对内联函数进行任何修改,都需要重新编译函数的所有客户端,因为编译器需要重新更换一次所有的代码,否则将会继续使用旧的函数。

如果想把一个函数定义为内联函数,则需要在函数名前面放置关键字 inline,在调用函数之前需要对函数进行定义。如果已定义的函数多于一行,编译器会忽略 inline 限定符。的情况下定义的函数多了一行。

在类定义中的定义的函数都是内联函数,即使没有使用 inline 说明符。

下面是一个实例,使用内联函数来返回两个数中的最大值:

  1. #include <iostream>
  2. using namespace std;
  3.  
  4. inline int Max(int x, int y)
  5. {
  6. return (x > y)? x : y;
  7. }
  8.  
  9. // 程序的主函数
  10. int main( )
  11. {
  12.  
  13. cout << "Max (20,10): " << Max(20,10) << endl;
  14. cout << "Max (0,200): " << Max(0,200) << endl;
  15. cout << "Max (100,1010): " << Max(100,1010) << endl;
  16. return 0;
  17. }

当上面的代码被编译和执行时,它会产生下列结果:

  1. Max (20,10): 20
  2. Max (0,200): 200
  3. Max (100,1010): 1010