C++ inline作用

当程序中的函数具有大量局部变量,导致上下文切换开销大时,可以使用inline关键字。inline函数在编译时期被展开,减少调用开销,提高效率。然而,这可能会增加代码体积,带来内存占用。简单且频繁调用的小函数是inline的最佳应用场景。

当我们的程序十分复杂,比如这个函数内部定义了很多局部变量,然后我们想调用一个函数


int _cal(int a,int b)
{
    return a*2+b;
}

我们发现这个函数的作用十分简单,但是我们想要调用这个函数的时候,我们需要把之前函数的局部变量入栈,如果局部变量很多的话,可能os切换上下文的时间就很长了,甚至这个时间大于执行这个函数的时间。

因此我们引入了inline。inline在编译期就将这个函数展开,在运行时候直接执行展开后的结果。

int main()
{
    cout<<_cal(2,3);
    //等价于 cout<<2*2+3;
    return 0;
}

inline适用场景:当前函数变量非常多,切换函数上下文需要保存的变量特别多,而所要执行的函数的内容非常简单的时候。

坏处:可能带来代码膨胀,内存空间有所占用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值