Const
1. const \ #define 二者区别
- const 是常量, 不能被修改
- const 定义常量, 全局只有一份内存, 更省内存
- const 只能定义字面量, 不能定义不确定的参数
- const 不能写在PCH文件里
- #define 一般用来代替一个操作, 或者匿名参数. (也可理解为 变量, 组合型变量 )不能被修改
- #define( 宏 )的定义, 会产生临时内存, 调用的次数越多, 产生临时内存的份数也越多
- #define 可以定义不确定的参数. 也可以定义字面量
- #define 可以写在PCH文件里
2. const 和 static 二者区别
- static 修饰的常量, 作用域在这个类里, 是局部变量
- const 修饰的常量, 可以作用在整个项目.
3. const 的使用
- 写法:
NSString * const name = @"Young";
NSInteger const age = 100;
- 用法:
- 创建一个NSObject类
- 在.h里, 写
extern NSString * const AppKey;
- 在.m里, 写
NSString *const AppKey = @"1234567";
- 使用该常量时, 直接导入.h文件即可, 也可以直接把.h文件放入PCH文件中
4. const 的几种写法
例如: const int a = ;
const int age1 = ;
int const age2 = ;
另一种情况:
const int *p1 = &age;
int const *p2 = &age;
int *const p3 = &age;