2012-10-15 88 views
-5

可能重複:
In c++ what does a tilde 「~」 before a function name signify?C++在函數名的前面是什麼意思?

什麼~在函數前面的意思是,在C++:

class list 
{ 
    ...other stuff... 
public: 
    list(); 
    ~list(); 
    void insertFront(const TYPE&); 
    TYPE deleteFront(); 
    void insertRear(const TYPE &); 
    int isEmpty() const; 
    void traverse() const; 
}; 
+0

是重複的。你必須在問之前谷歌它? – khan

+2

請注意'〜'也是一元按位「不」運算符的符號。 –

回答

3

這意味着該功能對於析構函數它的定義在類中。名稱的其餘部分(在〜之後)必須與類的名稱相匹配。

1

這是一個析構函數。

析構函數在你的對象被銷燬時被調用,就像創建對象時調用構造函數一樣。

如果您使用new創建了對象,則在調用delete時會調用析構函數。

如果你在堆棧上創建了你的對象,當你的對象超出範圍時,析構函數將被調用。

您擁有它的原因是在對象消失之前執行任何資源清理,通知或其他必需的工作。爲對象本身保留的內存將在析構函數的整個持續時間內有效。