当前位置: 首页 > 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/news/148805.html

相关文章:

  • 基于单片机的智能饮水机控制系统(论文+源码)
  • 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进行网络爬取
  • mysql 性能排查
  • 【论文阅读笔记】Prompt-to-Prompt Image Editing with Cross-Attention Control
  • MATLAB算法实战应用案例精讲-【人工智能】机器人指令编辑
  • 第一百八十三回 如何给图片添加阴影
  • 00.本地搭建 threejs 文档网站(网页版是外网比较慢)
  • redis运维(十九)redis 的扩展应用 lua(一)
  • Android:FragmentTransaction
  • a-range-picker 时间选择器的默认日期显示,日期格式化
  • OMP: Error #15: Initializing libiomp5md.dll
  • C语言——求π的近似值