【发布时间】:2017-11-07 00:42:52
【问题描述】:
这里的帖子回答了关于两者区别的问题:diff-between-malloc-operatornew
我想知道的是:一个人使用另一个人吗?我怀疑“operator new”函数以某种形式调用 malloc,但我可能还差得很远。有人知道说 gcc 的实现吗?
【问题讨论】:
-
operator new如何分配内存是一个实现细节。它可以通过malloc,或者直接通过对底层操作系统的系统调用。 -
@StoryTeller 是的,我知道它是特定于实现的。但是是否有一些文档描述了流行的编译器/系统的各种实现?
-
@Neroku 我认为这不是真的。您必须自己调用构造函数。只有“new”(作为关键字/运算符)也会调用构造函数。
-
关于 gcc,您应该可以访问标准库的源代码。因此,您可能会自己发现(尽管我担心它们读起来会很糟糕......)
-
@Scheff 完全正确。如果有详细了解的人可以告诉我,或者告诉我从哪里开始寻找,那就太好了。