您的位置:首页 > 其它

怎样不用临时变量而交换两个值?

2006-11-07 11:27 246 查看
怎样不用临时变量而交换两个值? 一个标准而古老的汇编程序员的技巧是:
a ^= b;
b ^= a;
a ^= b;

但是这样的代码在现代高级程序设计语言中没什么用处。临时变量基本上是自由使用的, 一般上的三个赋值是:
int t = a;
a = b;
b = t;

这不只对读者更清晰, 更有可能被编译器辨别出来而变成最有效的代码 (例如有可能使用 EXCH 指令)。后面的代码明显的可以用于指针和浮点值, 而不象  XOR 技巧只能用于整型。 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  编译器 汇编 语言