为了账号安全,请及时绑定邮箱和手机立即绑定

c++中函数前加~是什么意思,比如~Thread();?

c++中函数前加~是什么意思,比如~Thread();?

C++
FFIVE 2019-02-08 11:07:43
c++中函数前加~是什么意思,比如~Thread();
查看完整描述

2 回答

?
桃花长相依

TA贡献1860条经验 获得超8个赞

c++中函数前加~是表示此函数是析构函数。

析构函数介绍

1.析构函数(destructor) 与构造函数相反,当对象脱离其作用域时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)。

2.以C++语言为例:析构函数名也应与类名相同,只是在函数名前面加一个位取反符~,例如~stud( ),以区别于构造函数。它不能带任何参数,也没有返回值(包括void类型)。只能有一个析构函数,不能重载。如果用户没有编写析构函数,编译系统会自动生成一个缺省的析构函数(即使自定义了析构函数,编译器也总是会为我们合成一个析构函数,并且如果自定义了析构函数,编译器在执行时会先调用自定义的析构函数再调用合成的析构函数),它也不进行任何操作。所以许多简单的类中没有用显示的析构函数。

实例:

12345678910111213#include<iostream>using namespace std;class T{    public:     ~T(){cout<<"析构函数被调用。";}  };int main(){     T *t=new T();//建立一个T类的指针对象t     delete t;     cin.get();};


查看完整回答
反对 回复 2019-02-27
?
噜噜哒

TA贡献1784条经验 获得超7个赞

这是类的析构函数,它在这个类的实例被销毁时自动调用。
主要用来完成一些清理工作,比如释放动态分配的内存等。

查看完整回答
反对 回复 2019-02-27
  • 2 回答
  • 0 关注
  • 665 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信