C++性能优化笔记-6-C++元素的效率差异-18-预处理和命名空间

C++元素的效率差异

预处理指令

就程序性能而言,预处理指示(所有以#开头的东西)是没有代价的,因为它们在程序编译前被解决了。

#if指令用于支持多平台或同一个源代码的多种配置。#ifif更高效,因为#if在编译时解析,而if在运行时。

在用于定义常量时,#define等价于const定义。例如,#define ABC 123const int ABC = 123;一样高效,因为在大多数情形里,优化的编译器会用值替换一个整数常量。不过,在某些情形里,const int声明需要内存空间,而#define不需要内存空间。浮点常量总是需要内存空间,即使没有命名。在用作宏时,#define有时比函数更高效。参考用宏定义代替函数

命名空间

就执行速度而言,使用命名空间没有代价。

欢迎交流
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值