美文网首页
宏和const的区别

宏和const的区别

作者: G_M | 来源:发表于2016-07-08 20:39 被阅读59次

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

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

- 在方法中定义只读参数



相关文章

  • const、static、extern、宏

    const static extern 宏 const与宏的区别 static和const的联合使用 extern...

  • <三>关于const、static、extern、宏

    1.const2.static3.extern4.宏5.const与 宏的区别6.static 和 const 的...

  • const,static,extern的使用

    1⃣️.const和宏的区别宏是预编译,const是编译时刻,只会编译一次;宏不会检查错误,const会检查错误,...

  • iOS-关键字-const、static、extern

    一. 宏与const的区别 宏是预编译时刻,const是编译时刻 宏没有编译检查,const有编译检查 宏可以定义...

  • const,static,extern关键字

    每逢面试时多数会问到 const与宏的区别 及 static变量 先看下const与宏的区别: 编译时刻:宏是预...

  • 15.const,static,extren简介

    1.const和宏的区别:(面试) 2.const的作用:限制类型: 2.1const的基本使用: 3.const...

  • 宏和const的区别

    当有字符串常量的时候,苹果推荐我们使用const,苹果推荐使用const。 区别: 编译时间:宏是预编译(编译之前...

  • 宏和const的区别

    1.编译器处理方式不同宏:预编译时候执行const:编译时刻时候执行 2.类型和安全检查不同宏:没有数据类型,在编...

  • 宏和const的区别

    今天想为大家介绍介绍苹果API文档中经常使用的关键字"const" 想了解宏和const的区别首先得先知道两者的用...

  • const和宏的区别

网友评论

      本文标题:宏和const的区别

      本文链接:https://www.haomeiwen.com/subject/acjrjttx.html