can you explain what exactly the following does

#define PTR_XOR(a, b) (void*)( ((int)(a)) ^ ((int)(b)))

i guess a and b would be addresses