宏定义
1.在预编译阶段
2.只是替换,没有类型检查,不会检查代码错误
3.宏定义是直接替换不会分配内存,
4.宏定义可以通过#undef来使之前的宏定义失效
5.宏定义不能作为参数传递给函数
宏的好处:定义代码或字符串、方法、参数 const不能。
坏处:使用大量宏,容易造成编译时间久,每次都需要重新替换。
const
1.在编译阶段,即程序运行时的一段代码
2.有常量声明,在编译时会进行类型检查,会编译报错
3.const常量是要分配内存的,存储在程序的数据段中
4.const常量定义后将在定义域内永久有效
5.const常量可以在函数的参数列表中出现
const在开发中使用的场景:
1、定义全局只读参数,代替宏,减低编译速度。
2、方法中定义只读参数,不允许更改。