2012-05-16 30 views

回答

2

我不認爲這是可能的。以下面的代碼爲例:

int main(int argc, char **argv){ 
    Object A = new Object(), B = new Object(); 
    if(argc == 1){ 
    delete A; 
    delete B; 
    }else 
    { 
    delete B; 
    delete A; 
    } 
} 

你會如何知道在編譯時哪個析構函數被首先調用?

+0

哎呀,對我很恥辱。謝謝@SteveJessop,修復。 – Yuri

0

它是固定的自動變量,不能固定的動態分配的對象。另外,如果你的問題是針對類的成員對象,那麼是的,它是固定的。首先在類聲明中列出的成員,它們首先被銷燬。