2012-10-14 87 views
1

可能重複:
malloc() vs. HeapAlloc()分配內存在Windows

我知道我們可以用用C malloc/free分配/釋放堆內存,並使用new/delete在C++來做類似的事情。

至於Windows,我偶爾會看到有人使用HeapAlloc等API來分配內存,這是與C/C++對應的區別嗎?

哪個是在堆上分配wchar_t緩衝區的最佳方式,該緩衝區將用作某些Windows API的輸入?

+3

如果你不得不問,不要使用'HeapAlloc'。你不是那個功能的受衆。 –

+0

最好的方法很可能是'std :: wstring'或'std :: vector '。 – chris

回答

1

malloc/new使用HeapAlloc實現,所以幾乎沒有什麼實際區別。當然有實施差異; malloc在失敗時將返回null,新的將拋出,等等。