const位置上的不同代表哪些不同的意义
exern的用法
这个可以引用在程序编译过程中编译进去的常量数据。换句话说正能在.h
文件的声明赋值的常量才可以。并且常量的名字不能相同,如果相同会报错。
全局常量和局部常量
- 全局常量,无论定义在哪里都能被访问到。例
const NSString *ss = @"这是一个全局常量";
- 局部常量,用
static
修饰后不能提供外界访问。例static const NSString *ss = @"这是一个局部常量";
声明
引用
log:
所以我们在开发过程中完全可以定义一个公共的对象,.h中放置一些全局常量。.m中放置一些私有常量。
const
位置的不同,代表的意义也不同
const NSString *ss = @"注意*";
"*ss"不能被修改, "ss"能被修改
NSString const *ss = @"注意*";
"*ss"不能被修改, "ss"能被修改
NSString * const HSCoder = @"注意*";
"ss"不能被修改,"*ss"能被修改
注意:1和2其实没什么区别,ss为指针地址。*ss为指针所指对象。
这样子我们就可以根据不同的需求去使用const了。