Printing an uninitialized bool using cout (C++)

c++, cout, initialization, ostream

Solution

Is this behavior compliant with the standard?

Yes! Using garbage values(uninitialized) in your code invokes Undefined Behavior

Problem

I have a class with a `bool` data member that is not initialized by the constructor. If I do ``` cout << x.myBoolDataMember; ``` where `x` is an object of this class in which the `bool` has not been initialized, I sometimes get a random number rather than 0 or 1. (I'm using `gcc`.) Is this behavior compliant with the `Standard`?

Original source