欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C++ 内联函数

程序员文章站 2024-03-23 13:28:46
...

如果想把一个函数定义为内联函数,则需要在函数名前面放置关键字 inline,当函数被声明为内联函数之后,不是按通常的函数调用机制进行调用,程序在编译器编译的时候,编译器将程序中出现的内联函数的调用表达式用内联函数的函数体进行替换。在类定义中的定义的函数都是内联函数

优点: 当函数体比较小的时候, 内联该函数可以令目标代码更加高效. 对于存取函数以及其它函数体比较短, 性能关键的函数, 鼓励使用内联.

缺点: 滥用内联将导致程序变慢. 内联可能使目标代码量或增或减, 这取决于内联函数的大小. 内联非常短小的存取函数通常会减少代码大小,这其实就是个空间代价换时间的节省。所以内联函数一般都是1-5行的小函数。

有些函数即使声明为内联的也不一定会被编译器内联, 包含循环或 switch 语句的函数常常是得不偿失。

#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
*/