Yes, the && operator in C++ uses short-circuit evaluation so that if bool1 evaluates to false it doesn't bother evaluating bool2.
"Short-circuit evaluation" is the fancy term that you want to Google and look for in indexes.
The same happens with the || operator, if bool1 evaluates to true then the whole expression will evaluate to true, without evaluating bool2.
In case you want to evaluate all expressions anyway you can use the & and | operators.