我发现value ^= true;
适用于通过false和true更改布尔值,我想了解它为何起作用以及^做了什么,谢谢
答案 0 :(得分:2)
^
是一个按位异或。 ^=
是一个按位XOR compound assignment operator,与递增整数时的操作完全相同:x += 3
所以你的表达式等同于value = value XOR true
。
答案 1 :(得分:2)
它是按位异或和赋值运算符。
value ^ = true等于value = value ^ true
二进制异或运算符如果在一个操作数中设置了该位,则不会同时复制该位。
示例 a = 0011 1100 b = 0000 1101
a ^ b = 0011 0001
答案 2 :(得分:0)