const位置上的不同代表哪些不同的意义

exern的用法 这个可以引用在程序编译过程中编译进去的常量数据。换句话说正能在.h文件的声明赋值的常量才可以。并且常量的名字不能相同,如果相同会报错。

全局常量和局部常量
  • 全局常量,无论定义在哪里都能被访问到。例const NSString *ss = @"这是一个全局常量";
  • 局部常量,用static修饰后不能提供外界访问。例static const NSString *ss = @"这是一个局部常量";
声明
const位置上的不同代表哪些不同的意义-LMLPHP

引用

const位置上的不同代表哪些不同的意义-LMLPHP

log:

const位置上的不同代表哪些不同的意义-LMLPHP

所以我们在开发过程中完全可以定义一个公共的对象,.h中放置一些全局常量。.m中放置一些私有常量。

const位置的不同,代表的意义也不同
const NSString *ss = @"注意*";
"*ss"不能被修改, "ss"能被修改 NSString const *ss = @"注意*";
"*ss"不能被修改, "ss"能被修改 NSString * const HSCoder = @"注意*";
"ss"不能被修改,"*ss"能被修改 注意:1和2其实没什么区别,ss为指针地址。*ss为指针所指对象。

这样子我们就可以根据不同的需求去使用const了。

05-20 23:26