我在Windows XP SP2平台上使用VC ++ 6.0。我在我的代码中使用GUID结构。
typedef struct _GUID { // size is 16
DWORD Data1;
WORD Data2;
WORD Data3;
BYTE Data4[8];
} GUID;
如何在创建对象时将此结构初始化为零?或者当我创建一个对象时,成员的默认值是什么?
答案 0 :(得分:7)
GUID newId = GUID_NULL;
如果你不这样做,那么这些字段是未初始化的,并且包含该位置内存中的任何数据 - 通常称之为垃圾。
答案 1 :(得分:2)
使用标准c库:
GUID myGuid;
memset(&myGuid, 0, sizeof(GUID));
或更微软风格的方式:
GUID myGuid;
ZeroMemory(&myGuid, sizeof(GUID));