C/C++基础 -- 内联函数

本文详细介绍了C++中的内联函数概念,包括其定义、使用限制及实例。内联函数通过在编译时将函数代码直接嵌入调用处,提升运行效率,但需注意适用范围和编译器兼容性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本博文由 西北工业大学MOOC 总结而来,以备以后回顾。

内联函数

1.什么是内联函数

内联函数:在编译时将被调函数的代码直接嵌入到主调函数中,取消调用这个环节,这种嵌入到主调函数中的函数称为内联函数。

2.内联函数的定义

内联函数的声明是在函数定义的类型前加上 inline 修饰符,定义形式为:

inline 返回类型 函数名(形参列表)
    {
    	函数体
    }

注意:
1)inline的使用是有所限制的,inline只适合涵数体内代码简单的涵数使用,不能包含复杂的结构控制语句例如while、switch,并且不能内联函数本身不能是直接递归函数(自己内部还调用自己的函数)。
2)内联函数的声明必须出现在内联函数第一次被调用之前。

3.内联函数的实例

在这里插入图片描述在这里插入图片描述
内联函数在调用时就已经被替换成子函数的内容,即 fun(5, 6) 编译时替换成 5x5+6x6,效率更高。
在这里插入图片描述
  内联函数实际上是将用到 fun(a, b) 的地方全部替换成了 aa+bb。这样就避免了频繁调用函数对栈内存重复开辟所带来的消耗。

  inline函数仅仅是一个建议,对编译器的建议。所以最后能否真正内联,看编译器的意思,编译器如果认为函数不复杂,能在调用点展开,就会真正内联。所以并不是说声明了内联就会内联,声明内联只是一个建议而已。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值