腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
Python
C++中
析
构
函数
之间的区别
、
、
C++
析
构
函数
和
Python
析
构
函数
的契约有何不同,特别是在对象生命周期和资源回收时?我还没有找到一个全面的并排比较。 我认为C++
析
构
函数
所做的是完全释放对象所持有的内存。
Python
取消对象,但它仍然保留在缓存内存中(称为垃圾收集),然后在程序完成后完全释放内存。
浏览 9
提问于2022-05-02
得票数 -1
回答已采纳
1
回答
Python
类
析
构
函数
是否保证在程序结束前执行?
我们可以强制使用del执行
析
构
函数
,通常只是让垃圾收集器完成它的工作,但是如果我们在
Python
中定义类
析
构
函数
,它是否保证对实例化的每个对象执行?
浏览 4
提问于2020-08-07
得票数 4
回答已采纳
1
回答
C++
析
构
函数
调用boost::
Python
包装对象
、
、
在调用包装对象的C++
析
构
函数
时,考虑到达到对应
python
对象的零引用计数的时刻,
python
提供了任何保证吗? 我担心的是一个C++对象,它打开一个用于写入的文件,并在其
析
构
函数
中执行文件关闭。当所有对对象的
python
引用都被删除或超出作用域时,是否保证了文件被写入?我的经验表明,在这一点上总是调用
析
构
函数
,但找不到任何保证。
浏览 5
提问于2016-07-06
得票数 2
回答已采纳
1
回答
__init__中的成员分配和引用计数
、
我正在为
Python
编写一个C扩展,通过,我很难理解__init__
函数
中的成员分配。它可能有一个
析
构
函数
,该
析
构
函数
导致代码被执行,试图访问第一个成员;或者,该
析
构
函数
可以释放全局解释器锁,并允许任意代码在访问和修改我们的对象的其他线程中运行。我理解在这样的情况下,如果
析
构
函数
释放全局解释器锁,存在一个悬空指针,并且可以修改我的对象(self)
浏览 2
提问于2019-09-03
得票数 2
回答已采纳
1
回答
非多态和非抽象基类中的虚拟
析
构
函数
、
、
我正在编写一个c++类,它将与
python
进行接口。我没有为这个类添加
析
构
函数
,因为我很困惑。在我所读到的关于基类
析
构
函数
的所有文章中,它们都建议
析
构
函数
应该是公共的、虚拟的或受保护的。由于我不打算在c++代码或
python
接口中多形性地使用上述类,所以真的需要将
析
构
函数
变成公共的、虚拟的还是受保护的呢?我想让这个类公开,这样程序员就不会知道如何
浏览 7
提问于2014-01-31
得票数 1
回答已采纳
1
回答
为什么虚拟类的
析
构
函数
不自动添加到vtable中?
、
、
、
、
当虚拟类B派生自虚拟基类A时,除非在A和B中显式声明虚拟
析
构
函数
,否则vtable中B的
析
构
函数
将指向A的
析
构
函数
。为什么?为什么B的vtable
析
构
函数
不自动指向B的
析
构
函数
而不必定义A和B虚拟
析
构
函数
?编辑:意识到如果没有使A的
析
构
<e
浏览 0
提问于2018-04-14
得票数 1
回答已采纳
2
回答
析
构
与巨蟒
、
、
、
我使用boost::
python
将其导出到
python
中。但是虚拟破坏者呢?任何基类都应该有虚拟
析
构
函数
,以避免错误的内存释放,对吗?我忘记了这一点,写了Base而没有
析
构
函数
。现在我补充说:{ virtual ~Base();}; 在
python
中导入我的模块之后,而且,据我所知,错误是由于py-模块缺
浏览 0
提问于2011-04-11
得票数 1
回答已采纳
1
回答
F2py编译的Fortran模块中的垃圾收集
、
、
背景 我目前正在编写一个有限元程序,主要是用
Python
编写的(为了方便),它使用Fortran子程序的几个模块来执行一些无法避免的任务(即装配/更新切线刚度矩阵)。这是使用f2py ()成功编译的,生成的.dll文件在
python
脚本中作为
python
模块导入。然后,
Python
可以成功地调用
函数
/子程序。全局变量被直接从
Python
脚本中分配为具有正确类型的F-连续numpy数组(可能是糟糕的样式,但它适用于我)。--它们可以是相对较大的数组,我希望确保在成功完成
浏览 3
提问于2019-11-04
得票数 0
回答已采纳
2
回答
如何确保在
Python
类上按通常(但不正确)所期望的那样调用__del__
函数
?
、
、
我理解
Python
类的__del__
函数
:作为
析
构
函数
。 我也明白,有更多的‘琵琶’和可以说更优雅的方式来整理,特别是使用。然而,当编写可能被不太精通pythonic方式的用户使用的代码时,当清理非常重要时,是否有一种优雅的方法可以让__del__可靠地作为
析
构
函数
工作,而不影响
python
对__del__的自然使用?对于__del__作为
析
构
函数
的行为的期望似乎并不不合理,同时也
浏览 2
提问于2018-07-25
得票数 4
回答已采纳
3
回答
C++销毁顺序:在类
析
构
函数
之前调用字段
析
构
函数
、
、
有方法在类
析
构
函数
之前调用字段
析
构
函数
吗?<< "Big destructor" << std::endl;} Small small;{}Big destructor我
浏览 5
提问于2017-07-26
得票数 6
回答已采纳
1
回答
虽然我已经提供了移动构造
函数
,但还是调用了复制构造
函数
。
、
、
、
: 10释放nullptr数据的
析
构
函数
移动构造
函数
-Moving资源: 20复制构造
函数
-deep副本: 10释放数据的
析
构
函数
为: 10释放null
浏览 11
提问于2022-05-12
得票数 0
回答已采纳
1
回答
析
构
函数
是否根据标准有名称?
“标准”没有明确规定
析
构
函数
有或没有名称,但是有许多关于如何使用特殊语言引用和声明
析
构
函数
的引用,其中没有一个直接引用
析
构
函数
的名称。12.4.12: 在显式
析
构
函数
调用中,
析
构
函数
名称显示为~,后面跟着命名
析
构
函数
类类型的类型名称。对
析
构</em
浏览 2
提问于2010-04-22
得票数 5
回答已采纳
16
回答
如果不应该在
析
构
函数
中抛出异常,如何处理其中的错误?
、
、
、
大多数人说,永远不要从
析
构
函数
中抛出异常,这样做会导致未定义的行为。Stroustrup指出,“向量
析
构
函数
显式地为每个元素调用
析
构
函数
。这意味着如果一个元素
析
构
函数
抛出,向量销毁就会失败……实际上没有什么好的方法来防止从
析
构
函数
引发的异常,因此库无法保证元素
析
构
函数
抛出时是
浏览 41
提问于2008-09-24
得票数 298
回答已采纳
6
回答
何时不使用虚拟
析
构
函数
?
、
我相信我曾多次搜索过虚拟
析
构
函数
,大多数都提到了虚拟
析
构
函数
的用途,以及为什么需要虚拟
析
构
函数
。而且,我认为在大多数情况下,
析
构
函数
需要是虚拟的。那么问题是:为什么c++在默认情况下不设置所有
析
构
函数
?或在其他问题上:在这种情况下,我不应
浏览 0
提问于2015-05-21
得票数 64
3
回答
基类没有
析
构
函数
,但派生类有。我是否需要寻找与堆无关的陷阱?
、
、
在继承方面,我知道建议您的类的
析
构
函数
是虚拟的,因此除了任何派生
析
构
函数
之外,基类的
析
构
函数
都会被正确调用。但是,我想知道在下面的场景中是否存在与派生对象相关的堆栈相关问题。让我们假设我们有一个基类,它没有
析
构
函数
(不管出于什么原因):以及具有
析
构
函数
的派生类: class Derived : pu
浏览 6
提问于2016-05-22
得票数 2
回答已采纳
1
回答
Lua中的构造
函数
和
析
构
函数
?
、
、
、
我是Lua的新手,通过将它们与
Python
和Java等其他编程语言进行比较来学习其中的一些概念。我知道Java和
python
都有构造
函数
和
析
构
函数
。但我没有找到一个是用纯Lua编写的。我见过一些使用C/C++和Lua作为构造
函数
的例子,但是有没有办法只用Lua语言来构造构造
函数
和
析
构
函数
呢?
浏览 189
提问于2020-10-26
得票数 1
回答已采纳
1
回答
试图理解multimap为什么像它那样构造/下降
、
、
、
test0 0x22ff24
析
构
函数
称为TestObject: test0 0x22ff08单Iteration0
析
构
函数
称为TestObject: test1 0x22ff24
析<
浏览 3
提问于2012-02-13
得票数 1
回答已采纳
2
回答
C++是否可以使
析
构
函数
不调用类成员的
析
构
函数
和基类的
析
构
函数
?
是否有一种方法可以使类的
析
构
函数
不调用某个类成员的
析
构
函数
和/或不调用其基类的
析
构
函数
? 如果这是不可能的,是否手动创建具有新位置和
析
构
(/不-
析
构
)的类成员是可能的解决办法?谢谢!编辑:我需要这样做的原因:C类拥有对象M有一个非平凡的
析
构
函数
。C是M的朋友,以一种不需要调用M的
析<
浏览 0
提问于2017-05-30
得票数 0
回答已采纳
1
回答
虚拟
析
构
函数
在C++中的使用
、
、
、
、
虚拟
析
构
函数
和纯虚拟
析
构
函数
在C++中的应用是什么?我必须使用虚拟
析
构
函数
而不是普通
析
构
函数
的情况是什么?
浏览 0
提问于2020-03-26
得票数 2
1
回答
为什么C++中的默认用户定义
析
构
函数
会增加执行时间?
、
这个
析
构
函数
的类被实例化超过200次,这增加了整个响应时间,当这个
析
构
函数
被删除时,我观察到响应时间提高了28毫秒。有人能解释为什么这个时间差异,尽管这些只是默认的
析
构
函数
,但由用户定义,编译器无论如何都会调用这些
函数
。在使用“用户定义的默认
析
构
函数
”时,我指的是一个空的
析
构
函数
: ~Classname(){
浏览 5
提问于2012-04-24
得票数 1
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
虚析构与纯虚析构(C+)
当对象释放时,避免析构函数调用两次
比较 上下文管理器及构造/析构函数
第二部分:关于析构函数何时执行
PHP就业快学课堂10,构造方法与析构方法
热门
标签
更多标签
云服务器
ICP备案
实时音视频
对象存储
即时通信 IM
活动推荐
运营活动
广告
关闭
领券