【ThinkingInC++】47、关于宏的使用,探讨使用宏的缺点
来源:互联网 发布:淘宝助理上传宝贝慢 编辑:程序博客网 时间:2024/06/08 03:08
/*** 书本:【ThinkingInC++】* 功能:关于宏的使用,探讨使用宏的缺点* 时间:2014年9月11日07:50:54* 作者:cutter_point*/#include"../require.h"#include<fstream>using namespace std;//这里就是用BAND(x)代替后面的那一串函数#define BAND(x) (((x)>5 && (x)<10) ? (x) : 0)int main(){ ofstream out("macro.txt"); assure(out, "macro.txt"); for(int i=4 ; i < 11 ; ++i) { int a=i; out<<"a= "<<a<<endl<<'\t'; //这里就要小心了,记住用宏代替之后的结果展开应该是这样的 //(((++a)>5 && (++a)<10) ? (++a) : 0)这里调用了三次++a, //好的,代码一旦执行,问题马上就体现出来了 out<<"BAND(++a)="<<BAND(++a)<<endl; out<<"\t a="<<a<<endl; } return 0;}/*执行结果:a= 4BAND(++a)=0 a=5a= 5BAND(++a)=8 a=8a= 6BAND(++a)=9 a=9a= 7BAND(++a)=10 a=10a= 8BAND(++a)=0 a=10a= 9BAND(++a)=0 a=11a= 10BAND(++a)=0 a=12*/
0 0
- 【ThinkingInC++】47、关于宏的使用,探讨使用宏的缺点
- 【ThinkingInC++】10、全局变量的使用
- 【ThinkingInC++】66、pointer Stash的使用
- 【ThinkingInC++】8、说明符,探讨数据类型的大小
- 【ThinkingInC++】29、探讨private的作用
- 使用Spring OpenSessionInViewFilter的缺点
- 关于oracle中rownum的使用探讨
- 探讨CMake中关于RPATH的使用
- 宏定义的缺点
- 宏定义的缺点
- 【ThinkingInC++】14、联合体使用
- 使用感想:VS2005的优点和缺点
- 使用会话状态的优点与缺点?
- 使用配置文件属性的优点与缺点?
- 使用 Cookie 的优点与缺点
- 使用C++模板的优点和缺点
- Java多线程编程-使用线程的缺点
- 使用CSS框架的优点和缺点
- centos6.5增加中文输入法
- J-LINK V8固件烧录指导
- 开源项目Docker,是否需要一个开源基金会?
- 外交部:越南渔船携大量炸药进入中国西沙海域
- 【ThinkingInC++】46、特定的数据成员可以在一个const对象里被改变
- 【ThinkingInC++】47、关于宏的使用,探讨使用宏的缺点
- iOS 汉字转拼音
- 【ThinkingInC++】48、用标准C库中的时间函数生成简单的Time类
- 快速排序
- Android GPS学习
- Java中使用java.util.zip包读取APK中的RSA信息
- Ubuntu下PATH设置
- Minimum Path Sum
- xxxx