1.new表达式原理
- 通过new创建指针对象
Complex* pc = new Complex(1,2);
- new可以分解为以下步骤
void* mem = operator new(sizeof(Complex)); //分配内存
pc = static_cast<Complex*>(mem); //类型转换
pc->Complex::Complex(1,2) //调用构造函数
2.delete表达式原理
- 通过delete销废对象
Complex* pc = new Complex(1,2);
...
delete pc;
- delete分解为以下步骤
pc->~Complex(); //调用析构函数
operator delete(pc); //释放内存