| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2009 人关注过本帖
标题:请问一下编译器会自动给类加上默认的析构函数吗?
只看楼主 加入收藏
wenxinwukui
Rank: 1
等 级:新手上路
帖 子:22
专家分:6
注 册:2010-11-15
收藏
 问题点数:0 回复次数:5 
请问一下编译器会自动给类加上默认的析构函数吗?
各位请问一下:
    如果一个类或者struct没有析构函数,编译器会给自动加上一个默认的析构函数,那么析构函数呢?如果不显示写出来的话编译器会自动加上吗?
搜索更多相关主题的帖子: 函数 编译 自动 
2010-11-15 16:30
木头lbj
Rank: 7Rank: 7Rank: 7
来 自:黄山
等 级:黑侠
威 望:1
帖 子:269
专家分:527
注 册:2010-11-6
收藏
得分:0 
如果你没有写析构函授会自动加上。但是只要有了,不管是什么析构函数,编译器都不会再自动加上。

。。。!!!)))000
2010-11-15 16:54
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
收藏
得分:0 
会自动加上,但是这是一个空的构造函数,什么也不干。

南国利剑
2010-11-15 22:17
wenxinwukui
Rank: 1
等 级:新手上路
帖 子:22
专家分:6
注 册:2010-11-15
收藏
得分:0 
哦,谢谢,受教了。
2010-11-16 09:50
玩出来的代码
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河南新乡
等 级:贵宾
威 望:11
帖 子:742
专家分:2989
注 册:2009-10-12
收藏
得分:0 
引用深度探索C++对象模型中的一句话:
如果class没有定义destructor,那么只有在class内带有member object(或是class自己的base class)拥有destructor的情况下,编译器才会自动合成一个来,否则destructor会被视为不需要,也就不需要被合成。

离恨恰如春草,更行更远还生。
2010-11-16 14:09
wenxinwukui
Rank: 1
等 级:新手上路
帖 子:22
专家分:6
注 册:2010-11-15
收藏
得分:0 
回复 5楼 玩出来的代码
如果“destructor会被视为不需要,也就不需要被合成”的话,那new出来的对象怎么析构吧?
2010-11-17 16:11
快速回复:请问一下编译器会自动给类加上默认的析构函数吗?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015476 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved