快排中一个宏的bug
来源:互联网 发布:网络好文学作品 编辑:程序博客网 时间:2024/05/22 05:35
今天写快速排序,碰到一个问题:使用了下面的宏:
咋看没有问题,但是在使用时a,不是一个值而是一个表达式
这样在编译器预处理的时候会展开为m被加了两次,导致错误。
对于宏的使用,如果不打算改变宏参数的值,可以在宏开始的地方,保存一边宏的值,避免重复计算,例如
如果传入的a,b时fa().fb(),那么至少有一个函数计算了两次,导致额外的计算。
完整的代码如下
阅读全文
0 0
- 快排中一个宏的bug
- 快排中一个宏的bug
- 微软的一个bug?
- OracleParameter 的一个bug
- FireFox的一个bug
- 微软的一个BUG
- Tencent 的一个Bug
- 一个ComboBox的Bug
- WindowsXP的一个Bug
- QQ的一个BUG
- JCreator的一个BUG
- Word2007的一个bug
- hibernate3的一个bug
- ICTCLAS的一个bug
- CMonthCalCtrl的一个BUG
- Delphi2007的一个Bug?
- VS2005的一个BUG
- VC005的一个BUG
- POJ2253---Frogger(最短路变形)
- 事务配置
- unix中shell 非一般变量$0 $n $* $@ $! $?的详解
- 一个神奇高效的工具-正则表达式(一)
- 数据库零散知识点
- 快排中一个宏的bug
- XML文件解析示例
- Activemq优点和缺点
- 在eclipse中编译Launcher2的方法
- Android Studio导入项目卡在Building gradle的解决方案
- 扫雷
- nginx各个版本下载地址
- Dijkstra 算法
- 各种算法的定义