C++:宏函数和内联函数(一看就明了)

函数的调用过程中需要一定的开销,例如:保护调用的运行环境,参数传递,执行调用的指令等。所以调用函数会降低程序的执行效率,尤其是在多次频繁的进行调用时会大大的降低程序的效率。
C++提出了两种解决方案:宏函数和内联函数
使用这两种方式都可以节省在函数调用方面所带来的时间和空间开销。两者都采用了空间换时间的方式,在调用地方进行展开。

宏定义又称为宏代换,宏替换,简称为“宏”

宏定义的分类
1.不带参数的宏定义

  • 格式:#define 标识符 字符串
  • 其中的标识符就是所谓的符号常量,也称为“宏名”。预处理(预编译)工作也叫做宏展开:将宏名替换为字符串

2.带参数的宏定义(宏函数)

  • 格式:#define 宏名 (参数表)字符串
  • 除了一般的字符串替换,还要做参数代换

宏函数的优缺点
优点:

  • 增强代码的复用性。在预处理的阶段会将使用宏函数的位置用宏展开,少了函数压栈等开销,因此可以提高程序运行的效率。
  • 提高代码的可读性。

缺点:

  • 不方便调试宏。(因为预编译阶段进行了替换)
  • 导致代码可读性差,可维护性差,容易使用错误
  • 不能进行类型检测,程序不安全

内联函数

inl

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值