C++ 内联函数
如果一个函数是内联的,那么在编译时,编译器会把该函数的代码副本放置在每个调用该函数的地方
对内联函数进行任何修改,都需要重新编译函数的所有客户端,因为编译器需要重新更换一次所有的代码,否则将会继续使用旧的函数
如果想把一个函数定义为内联函数,则需要在函数名前面放置关键字 inline ,在调用函数之前需要对函数进行定义
内联函数不能多于一行,如果已定义的函数多于一行,编译器会忽略 inline
限定符
在类定义中的定义的函数都是内联函数,即使没有使用 inline 说明符
范例
下面的范例将 Max()
声明为内容函数
#include <iostream> using namespace std; inline int Max(int x, int y) { return (x > y)? x : y; } // 程序的主函数 int main( ) { cout << "Max (20,10): " << Max(20,10) << endl; cout << "Max (0,200): " << Max(0,200) << endl; cout << "Max (100,1010): " << Max(100,1010) << endl; return 0; }
编译和运行以上范例,输出结果如下:
Max (20,10): 20 Max (0,200): 200 Max (100,1010): 1010