使えるか使えないかは別として、
#define swap(a,b) a^=b^=a^=b
こういうのって、なかなか思いつかないんだよな〜。