注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

李建敏 廊坊师范学院信息技术提高班十二期

变是永远不变的

 
 
 

日志

 
 

C++ 宏的使用  

2015-08-01 21:08:23|  分类: C++ |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
      很多程序员不知道c中的“宏”到底是什么意思?贴别是当宏有参数的时候,经常把宏和函数混淆,其实,宏只是一种定义,它定义了一个语句块,当程序编译时,编译器首先要执行一个“替换”源程序的动作,把宏引用的地方替换成宏定义的语句块,
就像文本文件替换一样。这个动作术语叫“宏的展开”。使用宏是比较“危险”的,因为你不知道宏展开后是一个什么样子。例如下面这个宏:
     #define  MAX(a,b) a>b?A:b
      当我们这样使用宏时,没有什么问题: MAX(num1,num2);因为红展开后变成num1>num2?num1:num2.但是,如果这样调用,MAX(17+32,25+21)编译时就会出现错误,原因是宏展开后变成:17+32>25+21?17+32:25+21,所以宏的使用给一定要加上括号
  评论这张
 
阅读(60)| 评论(16)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017