[C++] operator new 与 new operator?

陪她去流浪 桃子 2016年10月31日 编辑 阅读次数:1954

经常搞混淆 C++ 中的 operator newnew operator 这两个概念,所以整理一下。

operator new 是指那个全局的函数,只是用来进行原始内存分配(可以说和 malloc 所作的工作差不多),可以被重载。

new operator 是指 new-expression,就是我们平常见到的 new Object; 语法。它有两个工作:

  1. 调用上面的 operator new 进行原始内存分配;
  2. 调用 Object 的构造函数。

参考:Difference between 'new operator' and 'operator new'?

标签:C++