I got this doubt while writing some code. Is \'bool\' a basic datatype defined in the C++ standard or is it some sort of extension provided by the compiler ? I got this doub
C++ does lots of automatic casting for you - that is, if you have a variable of type bool and pass it to something expecting an int, it will make it into an int for you - 0 for false and 1 for true.
I don't have my standard around to see if this is guaranteed, but every compiler I've used does this (so one can assume it will always work).
However, relying on this conversion is a bad idea. Code can stop compiling if a new method is added that overloads the int signature, etc.