<返回更多

C++内联函数

2021-06-07    好学梦想家best
加入收藏

C++中内联函数主要是为了提高函数的执行效率。如果一个函数是内联的,那么在编译时,编译器会直接将函数体插入在函数调用的地方,因此内联函数没有普通函数调用时的额外开销(压栈,跳转,返回);而对于其他的函数,都是在运行时候才被替代。对内联函数进行任何修改,都需要重新编译函数的所有客户端,因为编译器需要重新更换一次所有的代码,否则将会继续使用旧的函数。

如果想把一个函数定义为内联函数,则需要在函数名前面放置关键字 inline,在调用函数之前需要对函数进行定义。如果已定义的函数多于一行,编译器会忽略 inline 限定符。内联函数是空间代价换时间的,所以内联函数一般都是1-10行的小函数。

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

#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;
}

下面是一个实例,类的成员函数默认内联:

#include <iostream>
using namespace std;
class Com  
{  
public:  
   int min(int a, int b)  
   {  
      return a < b ? a : b;  
   }  
};  
int main()  
{  
   Com c;  
   cout << c.min(1, 2) << endl;  
   return 0;  
}  

总结:

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>