void XORSwap(void *x, void *y) { *x ^= *y; *y ^= *x; *x ^= *y; }
You need to create an account or log in to post comments to this site.
12378 users tagging and storing useful source code snippets
Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world
void XORSwap(void *x, void *y) { *x ^= *y; *y ^= *x; *x ^= *y; }
You need to create an account or log in to post comments to this site.
It is not necessarily inefficient. On Intel under GCC, the compiler actually knows about this trick and produces a single XCHG instruction if possible! Very cool. Anyway, I like this trick.