Why not use: x = !x;?

Is that right, then, Paul? I didn't know you could do that with integers, because I assumed !x could logically be any non-zero integer (in fact, all non-zero integers), rather than specifically 1. Presumably this must be addressed in the formal definition of C++.