const与#define的区别
2017-01-30 20:36
162 查看
const与#define有什么区别?
(1) 编译器处理方式不同
define宏是在预处理阶段展开。
const常量是编译运行阶段使用。
(2) 类型和安全检查不同
define宏没有类型,不做任何类型检查,仅仅是展开。
const常量有具体的类型,在编译阶段会执行类型检查。
(3) 存储方式不同
define宏仅仅是展开,有多少地方使用,就展开多少次,不会分配内存。
const常量会在内存中分配(可以是堆中也可以是栈中)。
(1) 编译器处理方式不同
define宏是在预处理阶段展开。
const常量是编译运行阶段使用。
(2) 类型和安全检查不同
define宏没有类型,不做任何类型检查,仅仅是展开。
const常量有具体的类型,在编译阶段会执行类型检查。
(3) 存储方式不同
define宏仅仅是展开,有多少地方使用,就展开多少次,不会分配内存。
const常量会在内存中分配(可以是堆中也可以是栈中)。
相关文章推荐
- VS one-click一键部署
- hadoop2.6.0实践:A01 问题处理 DEPRECATED: Use of this script to execute hdfs command is deprecated.
- java 基础到javaweb学习
- jQuery实战4:标签页效果
- maven jetty指定端口启动
- ThinkPHP框架入门篇(一)
- POJ 1160 Post Office
- Yarn 详解
- 第二次寒假作业
- 《面向对象程序设计》——寒假作业2️ 寒假计划
- php之引用
- 1029. Median (25)PAT甲级
- 学习经验总结
- 【HDU4609】3-idiots(FFT+计数问题)
- java之对象克隆
- Google Protocol Buffers 体验日志
- JS获取屏幕高度
- SVN与GIT
- javaweb中session的用法及相关应用
- css3 2d转换3d转换以及动画的知识点汇总