前言
最近在看C++相关内容,内联函数(inline
function)是C++语言中的一个特性,这里简单的记录一下,方便自己回顾和学习。
正文
引入原因
因此c++提供了一种代码替换的方法,使用inline修饰的函数,称为内联函数。
作用
内联函数是为了提高程序的执行效率,特别是在小型、频繁调用的函数中。
例子
内联函数(Inline Function)允许程序员请求编译器将函数的定义直接插入到所有调用该函数的地方,而不是创建一个新的函数调用栈帧。这意味着当函数被调用时,它的代码会直接嵌入到调用处,而不是跳转到函数定义处执行。
下面简单举个例子说明。
有一个普通的非内联函数:
int add(int a, int b) { return a + b; }
执行该函数
int result = add(5,10);
编译器通常会生成一个函数调用指令,这涉及到跳转和返回操作。
但是,如果是内联函数。
inline int add(int a, int b) { return a + b; }
那么编译器在处理调用时,可能会直接将 add
函数的代码插入到调用点,生成如下等效的代码:
int result = 5 + 10;
优缺点
优点
减少函数调用的开销
提高执行效率
避免宏定义的缺点
缺点
代码膨胀
编译时间增加
递归函数不适合作为内联函数
调试困难
参考文章
《》
《》
《
© 版权声明