1
我知道我們可以用用C malloc
/free
分配/釋放堆內存,並使用new
/delete
在C++來做類似的事情。
至於Windows,我偶爾會看到有人使用HeapAlloc
等API來分配內存,這是與C/C++對應的區別嗎?
哪個是在堆上分配wchar_t
緩衝區的最佳方式,該緩衝區將用作某些Windows API的輸入?
我知道我們可以用用C malloc
/free
分配/釋放堆內存,並使用new
/delete
在C++來做類似的事情。
至於Windows,我偶爾會看到有人使用HeapAlloc
等API來分配內存,這是與C/C++對應的區別嗎?
哪個是在堆上分配wchar_t
緩衝區的最佳方式,該緩衝區將用作某些Windows API的輸入?
malloc/new使用HeapAlloc實現,所以幾乎沒有什麼實際區別。當然有實施差異; malloc在失敗時將返回null,新的將拋出,等等。
如果你不得不問,不要使用'HeapAlloc'。你不是那個功能的受衆。 –
最好的方法很可能是'std :: wstring'或'std :: vector'。 –
chris