The only change I would make...zero-initialise

This can be done as added in the change, or you could use memset or std:fill.