【C++】内联函数

为了解决频繁的函数调用,增加时间和空间的花销而造成的效率低下问题,C++提供了内联(inline) 函数,在编译时将函数体嵌入到调用处,省去了函数调用的开销

调用函数实际上是将程序执行顺序从函数调用处跳转到函数所存放在内在中的某个地址,将调用现场保留,跳转到那个地址将函数执行,执行完毕后再回到调用现场,所以频繁的函数调用会带来很大开销。

内联函数其实只是在函数定义前面加上一个inline关键字,其格式如下:

inline 返回值类型 函数名(参数列表)
{
	//C++语句
}

示例:

#include <stdio.h>
#include <stdlib.h>

inline void func(void)
{
	printf("this is inline function\n");
}

int main()
{
	func();
	return 0;
}

这样虽然节省了开销,但是又会造成代码膨胀,因此一般都将结构简单语句少的函数定义为内联函数。内联函数中不可以包含复杂的控制语句,注意递归函数是不可以定义成内联函数的

inline只是建议编译器将函数嵌入到调用处,编译器会根据函数的长度、复杂度等自行决定是否把函数作为内联函数来调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cifeng79

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值