Instead of having to remember to initialize a simple \'C\' structure, I might derive from it and zero it in the constructor like this:
struct MY_STRUCT {
This would make me feel much safer as it should work even if there is a vtable (or the compiler will scream).
vtable
memset(static_cast(this), 0, sizeof(MY_STRUCT));
I'm sure your solution will work, but I doubt there are any guarantees to be made when mixing memset and classes.
memset