Dave's Brain

Browse - Programming Tips - It's such a chore setting each struct member to zero.

Date: 2004Aug22
Updated: 2005Jun1
OS: Windows
Language: C
Keywords: clear, init

Q.  It's such a chore setting each struct member to zero.
    Is there a faster/less tedious way?

A.  Use ZeroMemory() like this:

struct MyStruct { int a; float b; char c; MyStruct() { // default constructor ZeroMemory((LPBYTE)this, sizeof(*this)); } };
This works for *some* classes too but be very careful with classes. If you have virtual functions, it will klobber your vtable! So only use on the most simple classes.

Add a comment

Sign in to add a comment
Copyright © 2008-2017, dave - Code samples on Dave's Brain is licensed under the Creative Commons Attribution 2.5 License. However other material, including English text has all rights reserved.