Re: ZeroMemory vs xxx = { 0 };
От: spacecraft Россия  
Дата: 15.06.04 15:50
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Признаюсь честно, привык писать обнуление структур в таком стиле:


Д> 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. Кто что скажет?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.