会员
周边
新闻
博问
AI培训
云市场
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
Codefor
博客园
首页
新随笔
联系
订阅
管理
2011年6月12日
异或版swap注意
摘要: 通常快速交换两个变量的值可以使用:void swap(int& a,int& b){ a^=b^=a^=b;}但是这样用有个前提,是:a!=b原因很显然,与自身异或会将变量清零。这种用法在汇编语言中最常见xor ax;将累加器清零自己之前一直没注意,今天调试一个排序程序的时候发现的。所以,异或快速交换两个数的值时最好做个判断。void swap(int& a,int& b){ if(a!=b) { a^=b^=a^=b; }}
阅读全文
posted @ 2011-06-12 23:28 Codefor
阅读(603)
评论(0)
推荐(0)
编辑
公告