双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

C++析构函数为什么不能有返回值

恋喵大鲤鱼 恋喵大鲤鱼 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
C++析构函数为什么要这样设计?我知道C++构造函数不能有返回值是因为构造函数返回this指针,但析够函数为何不能有返回值呢?
...全文

相关推荐

C++虚析构函数、纯虚析构函数

分类:   虚析构函数   析构函数的工作方式是:底层的派生类(most derived class)的析构函数先被调用,然后调用每一个基类的析构函数。   因为在C++中,当一个派生类对象通过使用一个基类指针删除,而这个基类有一个非虚的析构函数,则结果是未定义的。运行时比较有代表性的后果是对象的派生部分不会被销毁。然而,基类部分很可能已被销毁,这导致了一个古怪的“部分析构”对象,这是一个泄漏资源。排除这个问题非常简单:给基类一个虚析构函数。于是,删除一个派生类对象的时候有了你所期望的正确行为。将销毁整个对象,包括全部的派生类部分。   但是,一般如果不做基类的类的析构函数一般不声明为

weixin_38548717

C++ 中析构函数为什么要求是虚的

这是因为,通过基类指针来销毁派生类对象这个行为,当基类没有虚析构函数时会产生问题。我们知道删除指针对象是没有问题的,指针对象的析构函数会正确调用,但仅限于指针的类型所表示的对象大小。如果以一个基类指针指向其派生类,删除这个基类指针只能删除基类对象部分,而不能删除整个派生类对象,原因是通过基类指针无法访问派生类的析构函数。 但是,如果像其它虚函数一样,基类的析构函数也是虚的,那么派生类的析构函数也

Raise

C++中基类的析构函数为什么要用virtual虚析构函数.pdf

C++中基类的析构函数为什么要用virtual虚析构函数.pdf

HD2022

析构函数不能抛出异常的原因

C++析构函数不能抛出异常的几条原因,里面详细列出

wanghui1966

构造函数不能声明为虚函数,析构函数可以声明为虚函数

构造函数不能声明为虚函数,析构函数可以声明为虚函数。

Wangzi_Jane
评论 36
收藏 已收藏
分享
返回顶部
恋喵大鲤鱼
恋喵大鲤鱼 领域专家: C/C++技术领域 领域专家: C/C++技术领域
C++ 语言 65,214 成员 250,514 内容