第一:#define定义了一个宏,在编译之前(预编译)就会被替换掉, 宏不做检查,只是替换,并且在字符替换可能会产生意料不到的错误(边际效应); 而const常量有具体的类型,在编译阶段会执行类型检查,当试图去修改该变量的时候,编译器会报错。 第二:#define可以定义函数,如: #define redcolor [UIColor redColor] , 而...
C/C++ 中,static const、#define 和 enum 都可以用来定义常量,但它们在使用场景、编译方式和语义上存在一些区别。#define 最简单,但易出错,慎用,const 类型安全,功能强大,enum 用于定义一组相关常量。在实际开发中,根据具体需求选择合适的关键字,可以写出更加优雅的代码。 1、#define 宏 #define是 C 和 C++ 中...