GlobalAlloc(UINT uFlags, SIZE_T dwBytes);
HeapAlloc(HANDLE hHeap, DWORD dwFlags, SIZE_T dwBytes);
LocalAlloc(UINT uFlags, SIZE_T uBytes);
why are there so many ways to allocate memory to your programs???
is there anything wrong with simply using new?
GlobalAlloc and co. are old and slow. You should use the Heap Functions now.
As for calling new or malloc. Well it's like naming your variables FLOAT instead of float. FLOAT is the Win32 typedef for float's. This way your project is a lot more flexible. I'm sure someone else can elaborate more, however, I am late for work.
There's nothing wrong with using 'new', but the other functions do give more flexibility. For example, with LocalAlloc, you can state whether you want the memory fixed or movable. The preferred functions are the ones like HeapCreate, HeapAlloc, etc, but you'll most likely find that your compiler uses these behind your back when you use things like "new" anyway, so unless you have special requirements, just stick to the standard c/c++ calls.