An unscoped enumeration, pointer, or pointer to member type can be converted to a Boolean type.
If the scalar
value is equal to 0, the Boolean value is 0; otherwise, the Boolean
value is 1.
A zero, null pointer,
or null member pointer value is converted to false.
All other values are converted to true.