码迷,mamicode.com
首页 > 移动开发 > 详细

iOS开发中 const,static,extern用法总结

时间:2018-05-13 13:38:30      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:只读   static   大量   tar   内存地址   shu   post   ati   nsstring   

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

 

iOS开发中 const,static,extern用法总结

标签:只读   static   大量   tar   内存地址   shu   post   ati   nsstring   

原文地址:https://www.cnblogs.com/dengchaojie/p/9031755.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!