#define是字符串替换,没有类型检查;const有对应的数据类型,是要进行判断。
#define容易导致错误,比如:
显然,N*2=3+2*2。
编译器对#define的处理是在编译的预处理阶段;对const的处理是在编译、运行阶段。
const不能重定义,#define可以通过#undef取消字符的定义。
#define是字符串替换,没有类型检查;const有对应的数据类型,是要进行判断。
#define容易导致错误,比如:
显然,N*2=3+2*2。
编译器对#define的处理是在编译的预处理阶段;对const的处理是在编译、运行阶段。
const不能重定义,#define可以通过#undef取消字符的定义。