可能重复:
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;
};
答案 0 :(得分:3)
这意味着该函数是其定义的类的析构函数。名称的其余部分(在〜之后)必须与类的名称匹配。
答案 1 :(得分:1)
它是一个析构函数。
在销毁对象时调用析构函数,就像在创建对象时调用构造函数一样。
如果使用new
创建了对象,则在调用delete
时将调用析构函数。
如果在堆栈上创建了对象,则当对象超出范围时,将调用析构函数。
您拥有它的原因是在对象消失之前执行任何资源清理,通知或其他必需的工作。为对象本身保留的内存在析构函数的整个持续时间内都有效。