首先先要明白 `^` 的基础语法(等式)
- a ^ 0 = a
- a ^ a = 0
- a ^ b ^ c = a ^ (b ^ c)
论述
首先 A、B两个对象(拥有各自的信息)存在
A = A^B => A便拥有了 A和B的所有信息
B = A^B => (A^B)^B => A^(B^B) => A^0 = A 这个时候B已经变成了A
A = A^B => (A^B)^A(B)(这个时候B已经换算成了A) => A^A^B => 0^B = B
从而达到了两个对象的无缝替换数据
注意点
两个对象不能指向同一处内存