доброго времени...
столкнулся со следующей проблемой:
не работает трюк с XOR для элементов массива
int arr[2] = {5, 7};
int i = 0;
arr[i] ^= arr[i+1] ^= arr[i] ^= arr[i+1]; // 1
После этого вместо {7, 5} в массиве лежит {0, 5} (в частности для g++).
Но, если расписать строку 1 в три, то все нормально.
В чем моя ошибка?
спасибо.