Почему swap с xor отлично работает в c ++, а в java нет? какая-то головоломка [дубликаты]
Возможный дубликат:
Почему это утверждение не работает в Java x ^ = y ^ = x ^ = y;
Образец кода
int a=3;
int b=4;
a^=(b^=(a^=b));
В c ++ это меняет местами переменные, но в java мы получаем a = 0, b = 4, почему?