Q:老实说,对于没有构造函数/销毁函数的原始数据存储,我看不出 new/delete 与 malloc/free 相比有什么优势。
Q:说实话,我很好奇你为什么要使用 malloc,我觉得内置组件更愿意使用 HeapAlloc,而不是依赖 CRT。
A:剧透警告--CRT 取决于操作系统
malloc 只是顽皮的 HeapAlloc 的伪装
我不知道new和delete,但我希望C++习惯遵循操作系统的内核,所以如果new[]从堆中分配,但也做一些花哨的C++事情,我不会感到惊讶。
一言以蔽之的抽象
A:我知道这一点,我只是对操作系统组件没有直接调用 HeapAlloc 感到惊讶,而且我很确定 new[](它是 C++ RTL 的一部分)也会调用 HeapAlloc。
我认为微软的实现基本上只是调用 malloc,如果 malloc 返回 null 则抛出异常,否则调用构造函数
offtopic:
W:老实说,这种说法似乎只来自成语 C++ 的偏执狂
他们是我见过的最白痴的一群人
C-style C++ 没有错