В программировании Win32 используется несколько структур POD. Эти структуры часто необходимо обнулить перед использованием.
Это можно сделать, позвонив memset()
/ZeroMemory()
STRUCT theStruct;
ZeroMemory( &theStruct, sizeof( theStruct ) );
или инициализацией значения:
STRUCT theStruct = {};
Хотя два варианта выше не эквивалентны вообще:
- относиться к дополнению иначе
- обрабатывать переменные-члены не-POD по-разному
в случае структур POD, используемых в Win32, они выглядят эквивалентными.
Есть ли случаи, когда memset()
/ZeroMemory()
следует использовать вместо инициализации значения с помощью структур Win32 POD?