−1−{\green{-1-}}−1−
在类对象的内存空间中,只有数据成员和虚表指针,并不包含代码内容。
−2−{\green{-2-}}−2−
类的成员函数单独放在代码段中
−3−{\green{-3-}}−3−
在成员函数内部执行delete this之后,只要之后执行内容和this指向的内存块无关,则毫不影响。
但涉及this指针,则会出现不可预期后果。
−4−{\green{-4-}}−4−
在当前成员函数未结束前,delete this语句并未马上执行,this指向内存块不是马上回收到系统,这时访问数据成员是随机数,访问虚表发生指针无效,系统崩溃。
−5−{\green{-5-}}−5−
若析构函数执行delete this 会怎样?
会堆或栈溢出{\red{会堆或栈溢出}}会堆或栈溢出
进入析构函数后,执行delete this,delete this本身调用this指向类的析构函数,所以会无限递归下去。