#define和const区别
看完网上资料后个人理解如下:
- 首先在编译的预处理时#define就会被处理,而const在编译、运行时才被处理。
- #define没有数据类型的检查,只是一种字符的替换。而const有数据类型的检查,这样就可以避免一些错误的发生。
- #define不会为宏定义的常量开辟内存空间。而const会给定义的常量开辟内存来存储且不能改变其值。
- 代码调试时#define是不能被调试的,因为它在预处理是就已经替换其值。而const常量是可以进行调试的。
综上所述,一般编程过程中用const来定义常量会比#define好一些,这样可以避免一些不必要的错误。