《深度探索c++对象模型》 196页有
Point* heap = new Point;
通常理解的new一个对象进行3个步骤:
1.分配一块内存空间
2.调用对象构造函数
3.指定 指向该对象的指针
书中有说到:“再一次容我强调,并没有default constructor施行于 new 运算符所传回的Point Object身上。”
当一个类无需构造的时候,如:
class Foo
{
int x,y;
};
编译器会为该类声明几个函数:trivial default constructor,trivial copy constructor,trivial destructor 和 trivial assignment operator。而且实际上,编译器会打上一个Plain Old Data(POD)标签,所以default constructor 和 destructor并没有定义或者没有调用。