Я использую VC++ 6.0 на платформе Windows XP SP2. Я использую структуру GUID в своем коде.
typedef struct _GUID { // size is 16
DWORD Data1;
WORD Data2;
WORD Data3;
BYTE Data4[8];
} GUID;
Как инициализировать эту структуру нулями при создании объекта? Или когда я создаю объект, каково значение по умолчанию для членов?
2 ответа
GUID newId = GUID_NULL;
Если вы этого не сделаете, поля будут неинициализированы и будут содержать все данные, которые были в памяти в этом месте - обычно это называют мусором.
Используя стандартную библиотеку c:
GUID myGuid;
memset(&myGuid, 0, sizeof(GUID));
Или более в стиле Microsoft:
GUID myGuid;
ZeroMemory(&myGuid, sizeof(GUID));
Похожие вопросы
Новые вопросы
visual-c++
Microsoft Visual C++ — это компилятор C, C++ и C++/CLI для Windows. Самая последняя версия компилятора — Visual C++ 2022. Компилятор поддерживает следующие языки: C (поддерживает C90 и большинство частей C99, C11, C17 стандарта ISO C++ по состоянию на Visual Studio 2022); C++ (поддержка большинства функций C++11, C++14, C++17 и C++20 и нескольких функций C++23 по состоянию на Visual Studio 2022) C++/CLI (обеспечивает взаимодействие с языками .NET, такими как C#).