All rise for a reading from the C standard. In section 6.3.13, we read: "Unlike the binary & operator, the && operator guarantees left-to-right evaluation; there is a sequence point after the evaluation of the first operand. If the first operand compares equal to 0, the second operand is not evaluated." You may be seated. (BTW: I'm not a language lawyer, but I play one at work.) There is similar wording for the || operator. Any compiler that wishes to call itself a C compiler must implement short-circuit evaluation for && and ||. Stroustroup's ARM has similar wording, though I'm not sure if short-circuit evaluation still applies to an overloaded operator&& or operator||. Getting back to the use of goto: personally, while I'm not manic about avoiding it, I also have never used one since I started using exceptions. (I used to use them a lot for jumping to appropriate clean-up code.) - Rich I don't know about ignorance, and I don't care about apathy, but I simply will NOT put with intolerance!