const和宏定义的区别!!!

宏的命名规范:一般以项目前缀开头,key结尾。

#开头表编译。

宏的用法:1、定义常用字符串。

              2、定义一段代码。

 

const与宏的区别:1、编译时刻:宏-预编译    const-command+b(编译阶段)编译。

         2、宏不会检查代码错误,只是替换,但是const会编译报错。

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

 

const作用:限制类型

  • 1.const仅仅用来修饰右边的变量(基本数据变量p,指针变量*p)
  • 2.被const修饰的变量是只读的。

 

注意:很多Blog都说使用宏,会消耗很多内存,我这验证并不会生成很多内存,宏定义的是常量,常量都放在常量区,只会生成一份内存。

 

const的用法:      1、int *const p ; p为只读,*p为变量。

         2、const int *p ; *p为只读,p为变量。

         3、int const * const p ;*p、p都为只读。

         4、const int * const p ;*p、p都为只读。

 

三、const开发中使用场景:

  • 1.需求1:提供一个方法,这个方法的参数是地址,里面只能通过地址读取值,不能通过地址修改值
  • 2.需求2:提供一个方法,这个方法的参数是地址,里面不能修改参数的地址。

 

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

             2、方法中定义只读参数,不允许更改。

 

 

转载于:https://www.cnblogs.com/yinqianios/p/5911217.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值