内联函数在C ++中的好处?

C ++内联函数是类中常用的强大概念。如果函数是内联函数,则编译器会在编译时调用该函数的每个点上放置该函数代码的副本。

对内联函数的任何更改都可能需要重新编译该函数的所有客户端,因为编译器将需要再次替换所有代码,否则它将继续使用旧功能。

要内联函数,请将关键字inline放在函数名称之前,并在对函数进行任何调用之前定义函数。如果定义的函数超过一行,则编译器可以忽略内联修饰符。

即使不使用内联说明符,类定义中的函数定义也是内联函数定义。

以下是一个示例,该示例利用内联函数返回两个数的最大值-

示例

#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

现在让我们看看在代码中使用内联函数有什么好处-

  • 此处不会发生函数调用开销。

  • 调用该函数时,可以节省堆栈中push和pop变量的开销。

  • 它节省了从函数返回调用的开销。

  • 创建一个内联函数时,编译器可以在函数主体上执行特定于上下文的优化。常规功能不会执行这种优化。

  • 使用小型内联函数可能对嵌入式系统有用,因为内联函数所产生的代码少于函数调用的前导和返回。