C ++在函数名前面的含义是什么意思?

时间:2012-10-15 03:49:43

标签: c++ class

  

可能重复:
  In c++ what does a tilde “~” before a function name signify?

函数前面的~是什么意思,在C ++中:

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

2 个答案:

答案 0 :(得分:3)

这意味着该函数是其定义的类的析构函数。名称的其余部分(在〜之后)必须与类的名称匹配。

答案 1 :(得分:1)

它是一个析构函数。

在销毁对象时调用析构函数,就像在创建对象时调用构造函数一样。

如果使用new创建了对象,则在调用delete时将调用析构函数。

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

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