c++ const和#define
来源:互联网 发布:大黄蜂爱国者数据 编辑:程序博客网 时间:2024/06/02 05:18
const可以定义一个常量,而#define也可以
在一些业务代码中,常常用#define 定义一个全局的常量。比如IMAGE_HEIGHT。
其作用,是在所有包含该代码段的文本中(一般#define定义在头文件中,然后被别的文件包含),用更可读的宏 替代常值的出现。
const也可以做到这一点,但是它在程序中,会占用运行时的内存。在跨文件的时候,还要考虑const是否存在。避免编译错误。所以#define更常用。
但是有一种情况需要用const变量:
1 这个常值只出现在本文件或引用本文件的内容中,不会到处调用。
2 由于变量过多,避免命名过长以及命名重复
比如,在文件cat.cpp中,有leg_length,表示猫腿的长度。文件dog.cpp中,也有leg_length,表示狗腿的长度。而两个长度不同。
这时const一个全局变量,比#define 要好一些。
而且这种const的变量,建议大写,像宏一样。
###
为什么不能通过命名成cat_leg_length和dog_leg_length来区分呢?
可以,但是使用简短的命名在工程中很有必要,可以让程序员第一眼看到重点。
阅读全文
0 0
- [C/C++] const和#define的区别
- C/C++:typedef、#define和const
- C/C++中的typedef、#define和const
- C++的const和C语言#define
- Objective-c #define 和 static const
- C/C++之#define和const区别
- 【C++】#define和const的区别
- C和指针之const、#define、volatile
- const和#define
- #define和const区别
- const 和 #define
- #define、const和enum
- define const 和 typedef
- define 和 const
- const 和 define
- #define、const和enum
- define和const区别
- const和define异同
- 存储过程入门
- sphinx 字符串过滤
- 关于c++类的赋值的问题
- 公务员面试综合分析真题解析3
- html打包
- c++ const和#define
- Charles打开时不能浏览网页的可能原因
- 机器学习
- 在eclipse中配置svn
- eclipse cleanup svn时卡死或者失败的一种解决方案
- 高逼格码农这些装备必须有
- 值栈详解
- js判断图片加载完成
- Git学习笔记 chapter05--添加远程仓库并同步