I'm using someone else's code that was written with an older compiler that mapped a special BOOL
type to an unsigned int
, but in my compiler it's mapped to a true bool
. In some places in his code he uses the bitwise shift operator <<
on the bool
type, which I had never seen before and my compiler surprised me when it didn't complain.
Is that valid C++? Does the bool
automatically get promoted to an int
or uint
?
I saw this related question, which provided some clarity on another issue, but it doesn't address the shift operators.