When encountering a (bool1 && bool2), does c++ ever attempts to check bool2 if bool1 was found false or does it ignore it the way PHP does?
Sorry if it is too basic of a question, but I really could not find a mentioning of that neither in Schildt nor on the Internet.
Yes, the
&&
operator in C++ uses short-circuit evaluation so that ifbool1
evaluates tofalse
it doesn't bother evaluatingbool2
."Short-circuit evaluation" is the fancy term that you want to Google and look for in indexes.
The same happens with the
||
operator, ifbool1
evaluates totrue
then the whole expression will evaluate to true, without evaluatingbool2
.In case you want to evaluate all expressions anyway you can use the
&
and|
operators.