Class B;
B *b = new B(); // default constructor
B *b1 = new B(10); // constructor which takes an argument B(int x)
Run Code Online (Sandbox Code Playgroud)
但是,如果我们要编写自定义版本new,则语法为
Class B
{
/*...*/
static void* operator new(size_t size);
}
Run Code Online (Sandbox Code Playgroud)
如何将语句new B()转换为函数调用
operator new(sizeof(B))?
它如何跟踪调用哪个构造函数,即它如何区分new B()和new B(int x)?
被new实现为C++中的宏?