bool default initialize

Is standard type bool initialized to false by default?  Or is it undefined until a value {true | false} is assigned?
LVL 2
VEngineerAsked:
Who is Participating?
 
raybCommented:
The bool is like many other types, it is uninitialized on startup.  You can easily test this for yourself, simply create an array of bools, say around 100 in size, then examine the contents of the array.
0
 
VEngineerAuthor Commented:
There is a special case in arrays...

Arrays defined in the global scope with fundamental base types have their array elements set to zero unless there is explicit initialization.

Arrays defined in a local scope with fundamental base types have their array elements uninitialized unless there is explicit initialization.
0
 
nietodCommented:
Actually that has nothing to do with arrays. The POD (Plain Old Data, like the built in types, but also classes and structures without constructors and virtual functions and with no members with constructors and virtual functions) are always initialized to 0 when global.  This is true regardless of whether or not they are in an array.  When local or dynamically allocated they will be set to random values.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.