const 和#define区别
相同点: 定义的值不可变
不同点:
const:用const 在使用的地方,只会产生一个临时的内存区域, 内存只有一份 <苹果推荐使用>
#define: 用这个重定义, 会再使用的地方产生多个临时区域, 内存有多份
const :
const 修饰: 全局变量 变成 全局常量
static const ... 变成私有, 其他地方不可访问
引用常量的时候最好加上const 例如: extern const tif ; 这样避免了别人误以为这是个可以修改的变量. 其实是个常量, 从根源阻止
规范:
新建一个头文件比如: tzf.h 专门用来放这些冲定义的常量, 最好在新建一个空文件取名 tzf.m 更加规范
.h 文件内 引用 比如:
.m 文件内定义
*const<*后const> :
const int *p1; int const *p2;
const 在*p1 *p2 前面, 所有*p1 和*p2 不可改, &p1 &p2 可以改
字符串中用const: NSString * const XMGName = @"jack";
把const 放在* 后 ,就可以防止别人在外面修改,这就是苹果为什么这样写的原因
const *<*前const> :
int * const p3;
const * 后面, 所有*p1 和*p2 可改, &p1 &p2 不可以改
网友评论