跟我学C++中级篇——基础的宏技巧

一、宏应用

虽然作为一名C++程序员可能宏的应该被限制的太多。但在某些情况下宏还是能起到非常大的作用的。特别是在和一些硬件或底层打交道时,宏的应用也是经常需要的。所以对一些基础的宏的使用经验和技巧还是要掌握的。

二、常见的宏技巧

经常遇到的宏的技巧有以下几种情况:
1、限制性展开
基本上程序员都知道宏的替换展开,如果一不小心就会因为运算符的优先级或者括号处理等原因导致展开后的计算表达式并非自己需要的,结果也可想而知,一定是不正确的。那么如何正确的展开一个宏,其实就是要利用好括号以及do…while。是的,没有错,一个循环。
括号做为限制性展开的一个手段,一般只能在比较简单的情况下比较好控制,这个就不举例了。但在复杂时,一不小心可能就仍然无法达到想要的效果,所以一般是使用do…while(0),看一个简单的例子:

#define myfunc(a, b)  do {
     
           \
  init(a,b);              \
  exec(a,b);               \
} while (0)
//use
if 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值