C++中内联函数的用法

Posted aurora-borealis

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++中内联函数的用法相关的知识,希望对你有一定的参考价值。

程序带调用函数需要一定的时间\空间花销,这就要求在主程序进行过程中调用函数前几下执行指令的地址及其他相关信息,一边函数调用后能继续执行.函数调用后流程返回先前记下的地址处,并根据记录的相关信息回复,而这都需要消耗时间,若有函数频繁使用,那么执行时间会很长,大大降低程序执行效率.因此,我们使用内联函数将函数代码直接嵌入到主调函数中,而不是将流程转出去,减少频繁调用带来的效率降低的问题.

下以 max(int a, int b) 为例:

#include<iostream>
using namespace std;
inline int max(int,int); #声明内联函数
int main()

    int a=3,b=7;
    cout<<max(a,b);
    return 0;


inline int max(int a,int b)
return a>b?a:b;

注意,内联函数的使用范围多是体积小而使用的频繁的代码.像包含递归\循环\switch语句的函数是无法进行代码置换的,而代码量多大上千行的函数在调用点展开也不现实,在这些情况下,编译系统会自动忽略inline声明,按照普通函数处理.

以上是关于C++中内联函数的用法的主要内容,如果未能解决你的问题,请参考以下文章

何时可以/将在 C++ 中内联函数?可以强制内联行为吗?

关于C++内联函数

04. 命名空间,函数重载,内联

04. 命名空间,函数重载,内联

c++中的内联函数inline

C++ 中的内联函数