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 ifbool1evaluates tofalseit 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, ifbool1evaluates totruethen the whole expression will evaluate to true, without evaluatingbool2.In case you want to evaluate all expressions anyway you can use the
&and|operators.