关于内联函数的知识点

        内联函数是c++中的概念,它和C语言中的宏有些类似。都是实现代码替换的功能。

但是宏有着一些缺点,注入不可调试,可读性差,优先级问题也比较多且没有类型检查。所以c++里就引入了内联函数。内联函数关键字是inline 直接写在函数声明定义前面。比如我们写一个 Add函数

inline Add(int x, int y)
{
    return x+y;
}

具体作用是建议编译器在预处理阶段将代码展开。

内联函数的特性:

1、可以提升运行效率,就和宏一样,代码的直接替换可以使得一些逻辑简单的操作不通过调用函数实现,从而减少了系统开销。

2、内联函数只是建议编译器展开代码,但是决定权在编译器。因为如果函数的内容比较多,而且频繁调用的话,会导致代码经过预编译之后代码量线性增长,导致代码体积膨胀。所以这里只是建议编译器将内联函数展开,具体展开与否还是要看编译器本身。

3、内联函数不支持声明和定义分离,因为内联函数本身就是通过代码的替换来提升运行效率。既然没有函数调用的过程,那么函数本身也就不存在地址一说,所以链接会找不到。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值