可能重复:
malloc()与HeapAlloc()
我知道我们可以在C中使用malloc
/ free
来分配/释放堆内存,并在C ++中使用new
/ delete
来做类似的事情。
至于Windows,我偶尔会看到有人使用HeapAlloc
等API来分配内存,这是与C / C ++对应的区别吗?
哪个是在堆上分配wchar_t
缓冲区的最佳方式,这些缓冲区将用作某些Windows API的input?
malloc / new是使用HeapAlloc实现的,所以几乎没什么实际的区别。 当然有执行差异; malloc在失败时将返回null,新的将抛出等。