const与#define的区别
来源:互联网 发布:单机游戏测试软件 编辑:程序博客网 时间:2024/05/11 08:41
const
const 是c++中的修饰符。 c++中常用来定义常量,修饰左值。
#define
宏定义语句, 在预处理阶段直接做文本替换,不做类型检查。
它们之间的最大区别:
1. 对于const 变量,系统只给了一个相应的内存地址,而#define则是给出了一个立即数。因为const变量是存放在内存的静态区域中,所以在程序运行过程中const变量只有一个拷贝,而#define 所定义的宏变量却有多个拷贝,所以宏在程序运行过程中所消耗的内存要比const变量的大得多。#define所定义的宏变量在预编译的时候进行替换,const变量在编译时确定其值。const,enum 变量进符号表,可在调试中查看变量的值.而#define不行。
2. const 对数据进行类型检查。#define 无需进行类型检查。定义宏参数时需将参数()起来。而且调用时参数不应在宏中再做运算。
3. 除了定义常量外,const 还有强大的修饰功能。#define 能增加程序的可读性,有些复杂的功能只需一条宏显示。
- const与#define的区别
- #define与const的区别
- define与const的区别
- const与#define的区别
- const与#define的区别
- const 与 #define的区别
- const与#define的区别
- const 与 #define的区别
- const与define的区别
- const与#define的区别
- const与#define的区别
- const 与#define的区别
- const与define的区别
- const与#define的区别
- const与define的区别!!!!!
- const与#define的区别
- const与#define的区别
- #define与const的区别
- 从C#程序中调用非受管DLLs
- android的binder机制研究(C++部分) 分享
- Deep in soul
- 根据Ip地址 获取 mac地址
- 访问Access 数据库 报 “IErrorInfo.GetDescription 因 E_FAIL(0x80004005) 而失败。”
- const与#define的区别
- Ogre引擎粒子系统
- C# 数字格式化输出
- 中缀表达式转化成前缀、后缀之快捷方式
- 安装SQL server 2005 我遇到的com+ 和数据计数器问题解决
- 富则兼济天下、穷则独善其身
- getYear() 在ie6和firefox中不同解释的解决办法
- DIV/层并排布局
- 生活的艺术