需显式调用析构函数的情况

class Bloader;                         //声明一个类Bloader
char *pchar = new char[sizeof Bloader];//分配一个Bloader大小的存储区,类型为字符数组
Bloader *pBlo = new (pchar) Bloader;   //利用定位new在存储区上构造一个Bloader类对象,
                                       //但没人分配内存
delete []pchar;                        //如果调用这个,则将删除存储区,但不调用Bloader类的析构函数
delete pBlo;                           //如果调用这个,则将删除存储区,并调用析构函数
pBlo->~Bloader();                      //如果显示调用析构函数,则调用析构函数,但不删除存储区,
                                       //可在该存储区上重新构造对象

你可能感兴趣的:(需显式调用析构函数的情况)