這是delete this辯論的變體,與中間方法調用發生了什麼。 基本上,如果方法A調用方法B,並且方法B銷燬該對象,那麼從B返回時方法A中會發生什麼特別的事情?事情是這樣的: struct test {
void A() {
B();
// what happens here besides being unable to dereference `this` an
刪除可能重複: Should 「delete this」 be called from within a member method? 是正確調用從的OnOK事件處理函數刪除,如下面的代碼。 void CTestDlg::OnOK()
{
CDialog::OnOK();
this->DestroyWindow();
delete this;
}