iOS知识库

const和#define

2016-07-31  本文已影响42人  Tanyfi

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 不可以改

上一篇 下一篇

猜你喜欢

热点阅读