Здравствуйте, Дарней, Вы писали:
Д>Признаюсь честно, привык писать обнуление структур в таком стиле:
Д> WNDCLASSEX wcx = { 0 };
Д>Немного нагляднее и короче, чем ZeroMemory. Хоть это и небольшой хак
Д>Интересно — может быть, есть какие-то аргументы против такой практики?
А я предпочитаю такую конструкцию:
HANDLE hHeap = GetProcessHeap();
MSG *pMsg = (MSG*) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(MSG));
//...
HeapFree(hHeap, 0, pMsg);
Работаю только на win32, поэтому о переносе на другие платформы не задумывался. Здорово здесь то, что для проекта ATL 7.0 можно включить опцию Minimize CRT Use in ATL, что делает скомпилированный код меньше процентов на 10...15, и не нужно таскать за собой библиотеку msvcr70.dll. Кто что скажет?