A prvalue of arithmetic, unscoped enumeration, pointer, or pointer-to-member
type can be converted to a prvalue of type
bool. A zero value, null
pointer value, or null member pointer value is converted to
false; any
other value is converted to
true. For
direct-initialization (
[dcl.init]), a prvalue of type
std::nullptr_t can be converted to a prvalue of type
bool; the resulting value is
false.