I've always run with the assumption that all primitives I allocate, initially contain either whatever that address contained previously (garbage) or they contain a debug pattern of bits.
However, I read offhand somewhere, that a constructor will zero out any members that "it cannot reach" in the constructor. I wish I remember where I read that, because it's bugging me a lot now.
My question is, is there a circumstance where certain members of an object are initialized to zero on construction?