The documentation in this site's tutorials on if statements does not discuss truthy or falsy values. I had to figure this out on my own when I saw it used on another site. In an if statement, the number 0 is falsy, and a nullptr is falsy. Non-null pointers are truthy, and non-zero numbers are truthy.
The tutorial here completely forgets to mention this:
The conversions from/to bool consider false equivalent to zero (for numeric types) and to null pointer (for pointer types); true is equivalent to all other values and is converted to the equivalent of 1.