Здравствуйте Андрей Тарасевич, Вы писали:
АТ>Старый избитый прикол
АТ>АТ>a ^= b ^= a ^= b;
АТ>
АТ>Разумеется, работать это будет только для некоторых типов.
Хотя, если посмотреть на это внимательнее, то становится ясно, что за такое морду бить надо. Две модификации каждой переменно в рамках одного выражения — неопределенное поведение.
Правильнее так
b ^= a; a ^= b; b ^= a;