今天想为大家介绍介绍苹果API文档中经常使用的关键字"const"
想了解宏和const的区别首先得先知道两者的用法
1.宏的常见用法: 1)常见的字符串抽成宏
2)常见的代码抽成宏
2.const:常量 只会编译一次,不会造成编译时间过长
- const: 当有字符串常量的时候,苹果推荐我们使用const
- 苹果经常把常用的字符串定义成const
3.const与宏的区别
1) 编译时刻的区别: 宏:是预编译 const:编译的时刻
2) 编译检查: 宏:不会检查错误 const: 会检查错误
3) 宏的好处: 宏可以定义代码
4) 宏的缺点: 编译时间过长,因此常用的字符串通常我们使用const修饰
4. 博客中经常看到,经常使用宏辉造成内存不断增加,每次使用宏,都会分配一个内存,实际上是错误的,宏定义的常量只会分配一次内存
5. const的作用: 仅仅是用来修饰右边的变量(智能修饰变量:基本变量,指针变量,对象变量)
- const修饰的变量,表示只读(只要用const修饰,就不能修改)
- const的书写规范: 一定放在变量的左边
6.const经典面试题:用const修饰指针变量
- int * const p = &a; // p:只读变量 *p:变量
- const int *p = &a; // *p: 只读变量 p: 变量
- int const *p = &a; // *p:只读 p:变量
- int const * const p = &a; // *p:只读 p:只读
- const int * const p = &a; // *p:只读 p:只读
7. const修饰对象变量: 只有这一种写法 NSString * const name = @“345”;
8. const在开发中使用场景
- 定义一个全局的只读变量
- 在方法中定义只读参数