【发布时间】:2017-03-27 13:45:52
【问题描述】:
前几天我在浏览github,发现了这段C++代码。
order[i]= order[i]+order[r]-(order[r]=order[i]);
为什么一行代码中有两个等号?我以前从未见过。
【问题讨论】:
-
这意味着你不应该这样做。从你的记忆中删除这行代码,并假装你从未见过它。这并不是一个很好的编程实践的典型例子。
-
@desertSniper87 有两个等号表示程序的未定义行为。:)
-
另外注意,这段代码只是交换了 order[i] 和 order[r]。