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