美文网首页
宏定义和const的区别

宏定义和const的区别

作者: pluto_S | 来源:发表于2020-05-24 13:39 被阅读0次

宏定义

1.在预编译阶段
2.只是替换,没有类型检查,不会检查代码错误
3.宏定义是直接替换不会分配内存,
4.宏定义可以通过#undef来使之前的宏定义失效
5.宏定义不能作为参数传递给函数

宏的好处:定义代码或字符串、方法、参数 const不能。
坏处:使用大量宏,容易造成编译时间久,每次都需要重新替换。

const

1.在编译阶段,即程序运行时的一段代码
2.有常量声明,在编译时会进行类型检查,会编译报错
3.const常量是要分配内存的,存储在程序的数据段中
4.const常量定义后将在定义域内永久有效
5.const常量可以在函数的参数列表中出现

const在开发中使用的场景:
1、定义全局只读参数,代替宏,减低编译速度。
2、方法中定义只读参数,不允许更改。

相关文章

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

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

  • iOS const、static、extern

    一、const与宏定义的区别 宏定义是在预编译时处理,const是在编译阶段处理;宏定义不做检查,不会报编译错误,...

  • 编程基础

    C语言 #define定义的宏和const定义的常量有什么区别? defined定义宏的指令,程序在预处理阶段将用...

  • 宏定义和const的区别

    宏定义 1.在预编译阶段2.只是替换,没有类型检查,不会检查代码错误3.宏定义是直接替换不会分配内存,4.宏定义可...

  • iOS技术基础

    一、define定义的宏和const定义的常量有什么区别? define定义宏的指令,程序在预处理阶段将用#def...

  • 02-预处理指令(宏定义 条件编译 文件包含)、typedef、

    目录 1 预处理指令2 typedef3 typedef和宏定义的区别4 const关键字5 宏定义(define...

  • const、static、extern、宏

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

  • #define、const、static、extern小结

    define 项目常用字符串及方法代码宏定义(以项目前缀开头) const const 和 define的部分区别...

  • 浅谈const, static, extern

    废话不多说,直接上!!! const const常量与宏的区别,很多同学喜欢宏来定义常量,其实这里是不推荐的(苹果...

  • ios细小知识点总结

    一、 defin定义的宏和const定义的常量的区别 define定义的常量,程序在预处理阶段只是直接用defin...

网友评论

      本文标题:宏定义和const的区别

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