On the basis of the assertion, please help to answer it

&& is boolean operator of AND operation. it not just for if statement thing it work any mathematical operation on 2 boolean values.

In C++ all types (at least primitive once like int or float) can be auto casted to bool and if there bits in memory all zeros they equal to false, if they have atleast one bit with value 1 they equal true. Thats why this operator can be used on other types then just Boolean.

Case you showed use that fact simply to pass the error message in case if bWasInitialized is false as assertion fail only shows failed condition :slight_smile: since literal string always gonna be treated as true, it using && operator to make that literal string neutral to rest of Boolean condition of check

Note that check fail only if condition in it is false, it can be any boolean, if you do something like this check(false) it will always fail