Why is bool 1 byte and not 1 bit? Wouldn't it have been easier (and more efficient - less memory needed and so on) with one bit? In the end - it is either 1 or 0 (true or false).
(Have also heard that some versions of Visual C++ define bool with 4 bytes - why did they do that at all??)