19.1
控制动态分配
new的过程实质上是operator new,包括三步:
1.分配一块足够大的、原始的、未命名的内存空间以便储存特定的对象。
2.编译器运行相应的构造函数以便存储特定的类型对象
3.对象被分配了空间并构造完成
delete实质上是operator delete,包括两步:
1.对对象指向的元素执行析构函数
2.释放内存空间
由于自定义的new和delete极易发生错误,故暂不使用
19.2
运行时类型识别
使用dynamic_cast<>代替动态绑定