Is all-bits-zero really &quot;safe&quot;? Sure, sometimes it is, but the safest approach is ensure that you&#x27;ve assigned a valid value to any object before you access that value.<p>If you fail to do that, pre-zeroing might just give you <i>consistent</i> incorrect behavior. It can also inhibit a compiler&#x27;s ability to detect that you&#x27;re accessing an uninitialized object. The compiler has no way of knowing whether that zero-initialization was setting it to a meaningful zero value, or just &quot;clearing&quot; it for safety.