3 c
我有一个变量a只能有两个值x1或x2.如何a在这些值之间切换.我想出了这个.还有其他更有效的方法吗?
a = (a == x1 ? x2: x1);
Run Code Online (Sandbox Code Playgroud)
Mit*_*eat 13
它(高度)不太可能是你的瓶颈,但你可以使用这个XOR方法:
togglex1x2 = (x1 ^ x2); // This is the combined toggle value
a = x1; // Initialise to either x1 or x2
a ^= togglex1x2; // toggles
a ^= togglex1x2; // toggles
...
Run Code Online (Sandbox Code Playgroud)
[您应该首先编写可理解的代码,并且仅在您测量瓶颈时进行优化(然后仔细检查它是您认为的位置!),如果您进行优化,请确保使用推理进行评论.]
尝试这样的事情.将在x1和x2之间切换
a = (x1 + x2) - a;
Run Code Online (Sandbox Code Playgroud)