C++ 内联函数
C++ inline 函数是一个常用的与类一起使用的强大概念。如果一个函数是内联的,在编译时,编译器会将该函数的代码副本放置在函数调用的每个地方。
对内联函数的任何更改可能需要重新编译所有使用该函数的客户端,因为编译器需要再次替换所有代码,否则将继续使用旧功能。
要内联一个函数,在函数名称之前放置关键字 inline ,并在调用该函数之前定义该函数。如果定义的函数超过一行,编译器可以忽略内联限定符。
类定义中的函数定义是内联函数定义,即使没有使用 inline 限定符。
下面是一个示例,使用内联函数返回两个数中的最大值 –
#include <iostream>
using namespace std;
inline int Max(int x, int y) {
return (x > y)? x : y;
}
// Main function for the program
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