宏、const、static、extern、用法与使用场景

来源:互联网 发布:php怎么做直播网站 编辑:程序博客网 时间:2024/05/03 01:45

项目中会用到很多,这里总结一下

宏:

命名规范:以项目前缀开头,以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修饰全局变量

就是全局变量就是静态全局只读变量





0 0