2012-10-15 59 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时会调用析构函数。

如果你在堆栈上创建了你的对象,当你的对象超出范围时,析构函数将被调用。

您拥有它的原因是在对象消失之前执行任何资源清理,通知或其他必需的工作。为对象本身保留的内存将在析构函数的整个持续时间内有效。