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

Posted dengchaojie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS开发中 const,static,extern用法总结相关的知识,希望对你有一定的参考价值。

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用法总结的主要内容,如果未能解决你的问题,请参考以下文章

iOS 中 const static extern 关键字总结

小胖说事28------iOS中extern,static和const差别和使用方法

static与const联合使用&&extern与const联合使用

iOS中static的作用

Java中,static代码块创建的IO流需要手动关闭吗?

c++ static及const(开发者在线)