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

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

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

C++
动漫人物 2018-11-14 18:14:10
c++中函数前加~是什么意思,比如~Thread();
查看完整描述

1 回答

?
烙印99

TA贡献1829条经验 获得超13个赞

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

析构函数介绍

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

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


查看完整回答
反对 回复 2018-12-12
  • 1 回答
  • 0 关注
  • 716 浏览

添加回答

举报

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