美文网首页
const,宏,static

const,宏,static

作者: 酱油瓶2 | 来源:发表于2018-04-03 18:08 被阅读1次

1、宏
宏的命名规范:项目前缀开头,以key结尾
#define ZDAccountKey
1)常用的字符串抽成宏
2)常用的代码抽成宏

2、const
修饰右边的变量,放在变量的左边,用const修饰的变量表示只读
int const a = 10, a只读变量
int * const p = &a, p只读变量,*p变量
int const *p = &a, *p只读变零,p变量
int const * const p = &a, *p只读,p只读
当有字符串常量的时候,推荐使用const
const开发中使用场景:
1)定义一个全局只读变量
2)在方法中定义只读参数

3、区别
宏是预编译(#表示预编译),const编译时刻
编译检查,宏不会检查错误,const会检查错误
宏可以定义代码,const不可以
太多宏可能会造成编译时间过长,const只会编译一次
因此,常用的字符串通常用const修饰,代码用宏修饰

4、static
1)修饰局部变量
延长局部变量的生命周期,只要程序运行,局部变量会一直存在;
局部变量只会分配一次内存,程序一运行就会分配一次内存
2)修饰全局变量
只会修改全局变量的作用域,表示只能是当前文件内使用

5、extern
1)声明一个全局变量,不能定义变量
extern修饰的变量不能初始化

6、static,extern,const联合使用
看当前字符串是否需要被其他文件共享,如果需要共享,使用全局,再用extern声明;不需要共享使用static

相关文章

网友评论

      本文标题:const,宏,static

      本文链接:https://www.haomeiwen.com/subject/qxkqhftx.html