const 和#define區(qū)別
相同點(diǎn): 定義的值不可變
不同點(diǎn):
const:用const 在使用的地方,只會產(chǎn)生一個臨時的內(nèi)存區(qū)域, 內(nèi)存只有一份 ?<蘋果推薦使用>
#define: 用這個重定義, 會再使用的地方產(chǎn)生多個臨時區(qū)域, 內(nèi)存有多份
const :
const 修飾: 全局變量 ? ?變成 ? 全局常量 ?
static const ... 變成私有, 其他地方不可訪問
引用常量的時候最好加上const ?例如: ?extern const tif ; 這樣避免了別人誤以為這是個可以修改的變量. 其實(shí)是個常量, 從根源阻止
規(guī)范:
新建一個頭文件比如: tzf.h 專門用來放這些沖定義的常量, 最好在新建一個空文件取名 tzf.m 更加規(guī)范
.h 文件內(nèi) 引用 比如: ?

.m 文件內(nèi)定義

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