In C and C++, the
&& and
|| operators both short-circuit. For eager semantics in C/C++ you could make do with the bitwise operators
& and
|, keeping in mind that they're bitwise and not logical. You could do something like
(!!first_int) | (!!second_int). You'd be better off forcing eager evaluation by saving the results to local variables, and then use the short-circuit logical operators.
Ada's and and or operators have no direct equivalents in C or C++.
https://en.wikipedia.org/wiki/Short-circuit_evaluation#Suppo...