No. It's guaranteed (by The Standard), that if abc(1)
returns true
, abc(2)
will NOT be called.
If abc(1)
returns false
, that it's guaranteed, that abc(2)
WILL be called.
It's similar with &&
: if you have abc(1) && abc(2)
, abc(2)
will be called ONLY IF abc(1)
return true
and will NOT be called, if abc(1)
return false
.
The idea behind this is:
true OR whatever -> true
false OR whatever -> whatever
false AND whatever -> false
true AND whatever -> whatever
This comes from the boolean algebra