当前位置: 首页 > article >正文

C++面试,说明const和#define的特点和区别

#define只是用来做文本替换的,例如:

#define PI 3.1415926
float angel;
angel = 30 * PI /180;

当程序进行编译的时候。编译器会首先将"#define PI 3.1415926"以后所有代码中的PI都替换成3.1415926,然后进行编译。它的生命周期止于编译期,它存在于程序的代码段,在实际程序中它只是一个常数,一个命令中的参数,并没有实际的存在。

const常量存在于程序的数据段,并且在堆栈分配了空间。const常量有数据类型,但是宏却没有,编译器可以对const常量进行类型的安全检查。


http://www.kler.cn/a/148805.html

相关文章:

  • 大模型研究报告 | 2024年中国金融大模型产业发展洞察报告|附34页PDF文件下载
  • debian 系统更新升级
  • 【数学二】线性代数-二次型
  • sealos部署K8s,安装docker时master节点突然NotReady
  • Vue2:组件
  • 解锁微前端的优秀库
  • 基于单片机的智能饮水机控制系统(论文+源码)
  • JAVA进阶之路JVM-2:类加载机制,类的生命周期,类加载过程,类加载时机,类加载器,双亲委派模型,对象创建过程
  • LuatOS-SOC接口文档(air780E)--rtc - 实时时钟
  • uniapp微信小程序中阻止事件冒泡
  • 如何根据接口文档,轻松快速的模拟接口服务?
  • Java小游戏 王者荣耀
  • 安卓横竖屏切换后,应用只展示半屏问题 AndroidAutoSize
  • 图像重定向Image Retarget
  • Gradle 翻译说明
  • Elsevier的latex模板
  • C#开发的OpenRA游戏之属性SelectionDecorations(11)
  • 蓝桥杯每日一题2023.11.27
  • 力扣:239. 滑动窗口最大值
  • 随时随地,打开浏览器即可体验的在线PS编辑器
  • CVPR 2023 精选论文学习笔记:UniSim A Neural Closed-Loop Sensor Simulator
  • 【读论文】【泛读】S-NERF: NEURAL RADIANCE FIELDS FOR STREET VIEWS
  • 聊聊Go语言的注释
  • 充电桩一些标准和协议介绍
  • asp.net core构造函数注入
  • Python爬虫入门:如何设置代理IP进行网络爬取