const与#define

来源:互联网 发布:spu sku 数据库设计 编辑:程序博客网 时间:2024/06/11 20:09

1. 类型检查

const定义的常量有类型,#define定义的常量没有类型,在编译的时候前者会进行类型安全检查,后者仅仅是作简单的替换

2. 内存分配

const定义的常量在编译时分配内存,而#define定义的常量是在预编译的时候进行替换,不分配内存

3. 作用域不同

const定义的常变量作用域为该变量的作用域范围;而#define定义常量作用域为从它定义的地方开始到程序结束,或者到#undef

0 0
原创粉丝点击