宏和const的区别

今天想为大家介绍介绍苹果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在开发中使用场景

- 定义一个全局的只读变量

- 在方法中定义只读参数






最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容