Я использую VC++ 6.0 на платформе Windows XP SP2. Я использую структуру GUID в своем коде.

typedef struct _GUID {          // size is 16
    DWORD Data1;
    WORD   Data2;
    WORD   Data3;
    BYTE  Data4[8];
} GUID;

Как инициализировать эту структуру нулями при создании объекта? Или когда я создаю объект, каково значение по умолчанию для членов?

2
Bharani 7 Июл 2009 в 11:26

2 ответа

GUID newId = GUID_NULL;

Если вы этого не сделаете, поля будут неинициализированы и будут содержать все данные, которые были в памяти в этом месте - обычно это называют мусором.

7
sharptooth 7 Июл 2009 в 11:30

Используя стандартную библиотеку c:

GUID myGuid;
memset(&myGuid, 0, sizeof(GUID));

Или более в стиле Microsoft:

GUID myGuid;
ZeroMemory(&myGuid, sizeof(GUID));
2
Emil H 7 Июл 2009 в 11:29