项目中会用到很多,这里总结一下
宏:
命名规范:以项目前缀开头,以key结尾;
常见的用法: 常用的字符串抽成宏、常用的代码抽成宏
const:常量
const:当有字符串常量的时候,苹果推荐使用const
const与宏的区别:
1.编译时刻:宏:预编译(预编译是提前编译) const:编译时候
2.编译检查:宏:不会检查错误 const:会检查错误
3.宏的好处:可以定义代码
4.宏的坏处:编译时间过长,因此常用字符串用const修饰全局变量来代替宏
const作用:
仅仅是用来修饰右边的变量(只能修饰变量:基本变量,指针变量,对象变量)
const修饰的变量,标示只读,不能修改
eg:
int *const p = &a; //p:只读变量,*p: 变量
const int *p = &a; // *p:只读变量,p:变量
int const *const p = &a; // p只读,*p也是只读
const在项目中使用:
1、定义一个全局的只读变量
2、在方法中定义只读参数
static作用:
1、修饰局部变量
*延长局部变量的生命周期,只要成员运行,局部变量就会一直存在
*局部变量只会分配一次内存,因为static修饰的代码,只会在程序启动的时候执行,以后不执行
2、修饰全局变量
*只会修改全局变量的作用域,表示只能是当前文件内使用
extern作用:
1、声明一个全局变量,不能定义变量
注意:extern修饰的变量不能初始化
extern使用场景,一般用于声明全局变量
static和const联合使用:
static和const修饰全局变量
就是全局变量就是静态全局只读变量