异或版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;} }转载于:https://www.cnblogs.com/codefor/archive/2011/06/12/2079258.html
总结
- 上一篇: update关联其他表批量更新数据
- 下一篇: IIS问题:Server Applica