C++ 入门内联函数 自动类型和空指针

坚持看完,结尾有思维导图总结

内联函数

C语言中 有一个比较独特的存在,就是宏
但是宏有一些不足
传参没有类型的检查,导致不是很安全
宏的使用是直接进行替换
而且还不能调试

如果我们要写一个相加的宏
在这里插入图片描述
会发现,如果少了几对括号,就会导致运算出错,因为是直接替换,就会有运算符匹配(结合性)的问题

祖师爷发现,这个鬼东西又不是很安全,用起来又别扭
就在普通函数的位置上加了 inline 的内联函数

在这里插入图片描述
inline 会做什么呢?
编译器看到 inline ,会选择将函数调用的地方,在可执行文件直接替换为对应的汇编指令,而不是开辟栈帧来实现函数的调用
调用后来显示反汇编
内联前(加 inline 前)
在这里插入图片描述

内联后(vs 2019 直接优化了,我有点不太懂)
在这里插入图片描述
本来

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值