社区
C++ 语言
帖子详情
关于析构函数!
fanhuaze
2012-03-03 06:07:42
谁能详细的给讲一下析构函数的最重要的知识点,我们刚讲到析构函数!!!
...全文
91
9
打赏
收藏
关于析构函数!
谁能详细的给讲一下析构函数的最重要的知识点,我们刚讲到析构函数!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
义博云天
2012-03-04
打赏
举报
回复
谢谢,我收获了很多,以后多多交流,我的QQ是470665207,没事加一下,经常交流一下
waq12
2012-03-04
打赏
举报
回复
高级一点儿就是如果对象需要作基类供别人继承,那么其析构函数最好是virtual的;
另外对于多线程共享对象,析构交由最后一个使用线程进行调用的情况是比较复杂的,也就是当析构函数遇见多线程。对相关资源的研究会比较有意思,也非常实用。
fzlrpsun
2012-03-04
打赏
举报
回复
[Quote=引用 6 楼 fanhuaze 的回复:]
太感谢了!!!!
[/Quote]
+1
fanhuaze
2012-03-04
打赏
举报
回复
太感谢了!!!!
ladylin00
2012-03-03
打赏
举报
回复
1.析构函数的书写格式“~ 类名()”(对象的生命周期结束一般都会自动执行析构函数);
2.没有返回值,没有函数类型,也没有函数参数;
3.一个类只能有一个析构函数;
4.析构函数的作用不是删除对象,而是撤销对象所占用的内存空间;
5.调用构造函数和析构函数的顺序:“先构造的后析构,后构造的先析构”。
(了解这些析构就可差不多了)
jixiang1983
2012-03-03
打赏
举报
回复
析构函数名也应与类名相同,只是在函数名前面加一个波浪符~,例如~stud( ),以区别于构造函数。它不能带任何参数,也没有返回值(包括void类型)。只能有一个析构函数,不能重载。如果用户没有编写析构函数,编译系统会自动生成一个缺省的析构函数(即使自定义了析构函数,编译器也总是会为我们合成一个析构函数,并且如果自定义了析构函数,编译器在执行时会先调用自定义的析构函数再调用合成的析构函数),它也不进行任何操作。所以许多简单的类中没有用显式的析构函数。
fanhuaze
2012-03-03
打赏
举报
回复
谢谢!!
duke56
2012-03-03
打赏
举报
回复
[Quote=引用 1 楼 duke56 的回复:]
析构函数是该对象要结束时执行的函数,用来回收之前new等操作的内存空间...
总之就是善后处理!
[/Quote]
"对象要结束"用对象生命周期要结束更为合理...改一下...^_^
duke56
2012-03-03
打赏
举报
回复
析构函数是该对象要结束时执行的函数,用来回收之前new等操作的内存空间...
总之就是善后处理!
C++ 学习 ::【基础篇:14】:C++ 类的基本成员函数:
析构函数
的作用 及 自定义
析构函数
情形
**
析构函数
**:与构造函数功能相反,**
析构函数
不是完成对对象本身的销毁**,**局部对象销毁工作是由编译器完成的**。**而对象在销毁时会自动调用
析构函数
,完成对象中资源的清理工作**。**注意:先销毁,再调用
析构函数
!**
析构函数
的使用情形:1. 如果没有主动动态申请空间一般不必写
析构函数
!、2. 若使用了 malloc 、new 等形式申请了空间需要手动写
析构函数
(手动释放空间)!**
c语言
析构函数
,C++
析构函数
详解
析构函数
(destructor)是成员函数的一种,它的名字与类名相同,但前面要加~,没有参数和返回值。一个类有且仅有一个
析构函数
。如果定义类时没写
析构函数
,则编译器生成默认
析构函数
。如果定义了
析构函数
,则编译器不生成默认
析构函数
。
析构函数
在对象消亡时即自动被调用。可以定义
析构函数
在对象消亡前做善后工作。例如,对象如果在生存期间用 new 运算符动态分配了内存,则在各处写 delete 语句以确保程...
C++
析构函数
C++
析构函数
我使用的继承开发环境: Visual Studio 2010设计一个类时,如何写
析构函数
?
析构函数
如果我们不写的话,C++ 会帮我们自动的合成一个,就是说:C++ 会自动的帮我们写一个
析构函数
。很多时候,自动生成的
析构函数
可以很好的工作,但是一些重要的事迹,就必须我们自己去写
析构函数
。
析构函数
和构造函数是一对。构造函数用于创建对象,而
析构函数
是用来撤销对象。简单的说:一个
析构函数
、虚
析构函数
、纯虚
析构函数
我们知道对象在结束其生命周期之前,都会调用
析构函数
以完成必要的清理工作;派生类调用的
析构函数
顺序是“先子类,后基类”; 这篇文章用于总结当
析构函数
是普通
析构函数
、虚
析构函数
、纯虚
析构函数
时,我们使用delete运算符删除一个指针对象时,
析构函数
会有什么情况发生; 普通
析构函数
CBase是基类,CDerive是其子类,类源码代码如下: class CBase { public: CBase(){} //基类
析构函数
~CBase(){ cout << "CBase Des
c++
析构函数
、虚
析构函数
、纯虚
析构函数
详解
我们知道对象在结束其生命周期之前,都会调用
析构函数
以完成必要的清理工作;派生类调用的
析构函数
顺序是“先子类,后基类”; 这篇文章用于总结当
析构函数
是普通
析构函数
、虚
析构函数
、纯虚
析构函数
时,我们使用delete运算符删除一个指针对象时,
析构函数
会有什么情况发生;普通
析构函数
CBase是基类,CDerive是其子类,类源码代码如下:class CBase { public: CBase(){}
C++ 语言
64,676
社区成员
250,490
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章