iOS开发中 const,static,extern用法总结
2018-05-13 12:14 dengchaojie_learner 阅读(163) 评论(0) 编辑 收藏 举报const
const简介
:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量。
编译时刻
:宏是预编译(编译之前处理),const是编译阶段。编译检查
:宏不做检查,不会报编译错误,只是替换,const会编译检查,会报编译错误。宏的好处
:宏能定义一些函数,方法。 const不能。宏的坏处
:使用大量宏,容易造成编译时间久,每次都需要重新替换。
宏定义的是常量,常量都放在常量区,只会生成一份内存。
const的作用: const 是一个左结合的类型修饰符,它与其左侧的类型修饰符一起为一个类型修饰符,表示该类型只读.
简言之:沿着*号划一条线,如果const位于*的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;如果const位于*的右侧,const就是修饰指针本身,即指针本身是常量。
static const NSString *personA1 = @"a1";//用static修饰后,不能提供外界访问
*personA1是常量,不能被修改;但是personA1是可变的,可以指向新的内存地址,当personA1被赋值时,personA1就指向了新的内存,从而读取出来的值发生变化;
static NSString *const personA2 = @"a2";//字符串常量 personA2不能被重新赋值;
https://www.jianshu.com/p/2fd58ed2cf55
https://jatstar.cn/2016/01/10/const-static-extern/
https://www.jianshu.com/p/b86278d322f5