在某些语言中...... 我知道这是指数运算符。
但在下面的C ++代码中,我认为这用于交换if (strpos($_SERVER['HTTP_USER_AGENT'], 'OS 8_0') !== false)
{
echo "This is iOS 8";
}
else{
echo "This is not iOS 8";}
}
和char &a
。我希望了解表面下发生了什么,以及如果确实按照我的想法行事,这个说法是如何运作的。
char &b
答案 0 :(得分:2)
让我们从一点开始,看看所有可能的情况:
a 0 0 1 1
b 0 1 0 1
在第一个声明之后:
a 0 1 1 0
b 0 1 0 1
第二
a 0 1 1 0
b 0 0 1 1
第三
a 0 1 0 1
b 0 0 1 1
只需将上面的列表应用于每一位。
答案 1 :(得分:1)
你需要了解关于XOR的一些事情:
X^X=0
X^1= not X
X^0=X
X^Y=Y^X
现在
a=a^b
b=a^b=a^b^b=a
a=a^b=a^b^a=a^a^b=b
正如您所说,现在可以看到,a
的结尾b
得到了b
,a
获得{{1}}的价值。