社区
非技术区
帖子详情
为析构函数指定返回类型(即使是VOID)会导致什么后果?
xiaott
2002-01-19 02:43:04
...全文
308
6
打赏
收藏
为析构函数指定返回类型(即使是VOID)会导致什么后果?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chenqj
2002-01-19
打赏
举报
回复
试试不就知道了
zocmiu
2002-01-19
打赏
举报
回复
因为都要销毁了,还要考虑什么返回吗?所以什么返回也不写就会全对了。
xiaott
2002-01-19
打赏
举报
回复
具体一点讲呢?
lovelinzi
2002-01-19
打赏
举报
回复
编译器汇报错。不能通过编译。
lovelinzi
2002-01-19
打赏
举报
回复
编译器汇报错。
magicblue
2002-01-19
打赏
举报
回复
编译失败
C++ 类
析构函数
C++ 类
析构函数
阅读目录 一、
析构函数
的定义 二、
析构函数
的调用 三、构造函数和
析构函数
的调用情况 四、私有
析构函数
回到顶部 一、
析构函数
的定义
析构函数
为成员函数的一种,名字与类名相同,在前面加‘~’没有参数和
返回
值在C++中“~”是位取反运算符。一个类最多只能有一个
析构函数
。
析构函数
不
返回
任何值,没有函数
类型
,也没有函数参数,因此它不能被重载。 构造函数可能...
11.7 C++
析构函数
C++
析构函数
概述 C++
析构函数
是一个特殊的成员函数,作用与构造函数相反,它的名字是类名的前面加一个~符号,
析构函数
是与构造函数作用相反的函数,当对象的生命期结束时,
会
自动执行
析构函数
。 C++执行
析构函数
的情况 如果在一个函数中定义了一个对象,当这个函数被调用结束时,对象应该释放,在对象释放前自动执行
析构函数
。 static局部对象在函数调用结束时对象并不释放,因此也不调用
析构函数
,只在main函数结束调用exitt函数结束程序时,才调用static局部对象的
析构函数
。 ...
C++显示调用
析构函数
C++中new的用法及显示调用
析构函数
最近被问到了C++内存池的问题,其中不免涉及到在
指定
内存地址调用对象构造函数以及显示调用对象
析构函数
的情况。 C++中new的用法 new是C++中用于动态内存分配的运算符,在C语言中一般使用malloc函数。 (1)plain new顾名思义就是普通的new,就是我们惯常使用的new。分配内存,调用构造函数,在C++中是这样定义的: 1
void
* operator new(std::size_t) throw(std::bad_alloc); 2 v
构造函数和
析构函数
的一些问题
1、构造函数和
析构函数
为什么没有
返回
值? 构造函数和
析构函数
是两个非常特殊的函数:它们没有
返回
值.这与
返回
值为
void
的函数显然不同.后者虽然也不
返回
任何值,但还可以让它做点别的事情,而构造函数和
析构函数
则不允许.在程序中创建和消除一个对象的行为非常特殊,就像出生和死亡,而且总是由编译器来调用这些函数以确保它们被执行.如果它们有
返回
值,要么编译器必须知道如何处理
返回
值,要么就只能由客户程序员自己
C++类和动态数组
换言之,如函数包含局部变量,而且这个局部变量是提供了
析构函数
的对象,那么函数调用终止时
会
自动调用
析构函数
。此外,将动态变量嵌入类的实现中,由于使用该类的程序员并不知道动态变量的存在,所以不能指望他们帮你调用。
析构函数
不能
指定
返回
值
类型
,无参数,所以每个类只能有一个
析构函数
,不能为类重载
析构函数
。重载赋值操作符与重载其他操作符不同,重载赋值操作符必须是类的成员,而不能是类的友元。类没有合适的
析构函数
,函数调用就
会
不断消耗自由存储中的内存,直至所有内存都消耗殆尽,造成程序不得不异常终止。,也可能需要调用多次。.
非技术区
15,447
社区成员
58,120
社区内容
发帖
与我相关
我的任务
非技术区
C/C++ 非技术区
复制链接
扫一扫
分享
社区描述
C/C++ 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章